【发布时间】:2017-10-16 19:15:51
【问题描述】:
我有 table1 的列(id、firstname、lastname)和 table2 的列(id、firstname、lastname、ans3、task、matchid)。到目前为止,我已经制作了将名字和姓氏从 table1 插入到 table2 的触发器。现在我想要的是将 table2 中的 matchid 与 table1 中的 id 连接起来。例如,当 matchid = 1 时,显示 table1 中 id = 1 的记录,并且 table2 记录在同一行中。到目前为止,这是我对触发器所做的事情。
DELIMITER //
CREATE TRIGGER after_user_insert AFTER INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2 (firstname, lastname, matchid)
VALUES (NEW.firstname, NEW.lastname, NEW.id);
END; //
DELIMITER ;
这是我在 phpmyadmin 中得到的照片。您可以看到我没有弄清楚如何将 table2.matchid 加入到 table1.id
【问题讨论】:
-
您是否意识到屏幕截图中的
id属于table2而不是table1?一般来说,不要担心自动增量列的值。让 MySQL 为您管理它。 -
是的@TimBiegeleisen 我意识到这一点,但我的意思是数据 7.0 和 2017-10-16 应该与 John Doe 位于同一行(请参阅捕获)。
-
啊哈!您是否真的要将用户记录更新为最新值而不是插入新记录?
-
我将举一个例子,以便更好地解释捕获!正如我提到的,7.0 和 2017-10-16 应该与 John Doe 相同! 26.1 和 2017-10-16 也是 John Doe 的第二次测量(假设在同一天),因此它们也应该以相同的原始显示。然后,我想插入一个不同的人,例如 Jane Doe,并能够将数据与她匹配,就像我对 John 所做的那样!
-
so they should be displayed in the same raw as well...这对我来说毫无意义。也许你应该向我们展示你真正想要的输出。