gpt4 book ai didi

mysql - 是否有可能,如果可以,如何将 "link"两个 MySQL 数据库列放在两个不同的表中?

转载 作者:行者123 更新时间:2023-11-30 22:46:57 25 4
gpt4 key购买 nike

我有一个数据库,里面有一堆表。其中 8 个表具有名为“status”的字段,它提供该行中数据的有效状态通知。

我有另一个表,它充当前面提到的 8 的索引,它也有一个匹配的“状态”列。目前,如果 8 个数据收集表之一的状态栏发生变化,我需要让 php 也更新相关索引表的状态栏以匹配。如果我在 MySQL 中有一种方法将索引表的“状态”字段链接到核心数据所在的八个表中的匹配“状态”字段,那么编码监督会更好,更不容易出错。它将永远只是八个之一,具体取决于所选的表单类型。这样的事情可能吗?

数据按要求添加。首先是我称之为“索引”表的示例。放置在其他 8 个表中之一的任何数据也将在该表中有一个条目。

id  appNo   applicationKey  applicationName             uID     status
1 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
2 2 AIGs1PIA A.I.G stage 1 Process App 1 Data Acquisition
3 3 AIGs2GRA A.I.G stage 2 Grant App 1 Declined
4 2 AIGs1PIA A.I.G stage 1 Process App 1 Data Acquisition
5 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
6 3 AIGs2GRA A.I.G stage 2 Grant App 1 Pending Review
7 8 VisFelAp Visiting Fellowship App 1 Data Acquisition
8 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
9 8 VisFelAp Visiting Fellowship App 1 Accepted

id 是自动递增的。 appNo 和 applicationKey 用于标识正在输入的 App 类型。 applicationName 很明显,uID 是进入应用程序的用户的 ID - 在所有这些情况下都是我自己,所以他们现在都是“1”。最后一个列“状态”是我想要“链接”到数据所在的任何其他表中的相关匹配列的内容。这由 applicationKey 指示 - 例如,此处第一个条目的数据将存储在名为“app_AIGs2GRA”的表中,而最后一个 (id 9) 条目的数据将驻留在表“app_VisFelApp”中。

所有的数据表都以同样的方式开始,像这样:

appID   uID     uaID    status
1 1 2 Data Acquisition
2 1 4 Data Acquisition

此示例取自 app_AIGs1PIA 表,您将看到 uaID 编号如何与索引表中的 id 编号相匹配。这里的“状态”列数据,与其他数据表中的情况一样,是我需要“链接”到索引表中相关“状态”列的数据。所以如果它在这里改变,变成这样:

appID   uID     uaID    status
1 1 2 Data Acquisition
2 1 4 Pending Review

索引表将变为:

id  appNo   applicationKey  applicationName             uID     status
1 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
2 2 AIGs1PIA A.I.G stage 1 Process App 1 Data Acquisition
3 3 AIGs2GRA A.I.G stage 2 Grant App 1 Declined
4 2 AIGs1PIA A.I.G stage 1 Process App 1 Pending Review
5 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
6 3 AIGs2GRA A.I.G stage 2 Grant App 1 Pending Review
7 8 VisFelAp Visiting Fellowship App 1 Data Acquisition
8 3 AIGs2GRA A.I.G stage 2 Grant App 1 Data Acquisition
9 8 VisFelAp Visiting Fellowship App 1 Accepted

请注意条目编号 4 也发生了变化?

最佳答案

只需在您的特定列上使用触发器即可。

CREATE  TRIGGER  myTrigger AFTER UPDATE ON myTable
FOR EACH ROW
if NEW.column1 <> OLD.column1
begin
@new_index = NEW.youColumn
--put @new_index in your desired table using UPDATE statement
end
END

关于mysql - 是否有可能,如果可以,如何将 "link"两个 MySQL 数据库列放在两个不同的表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29330272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com