MYSQL表2中的表1更新记录插入新记录
问题描述:
不知道如何做到这一点,我有以下2个表:MYSQL表2中的表1更新记录插入新记录
Table 1
ID > TYPE INT (Primary ID, auto increment)
notes > TYPE VARCHAR
TABLE 2 ID > TYPE INT
notes > TYPE VARCHAR
ETA > TYPE VARCHAR
InsertDate > TYPE DATE
表2是最初为空表。我目前在PHP中有一个查询来更新关于特定ID的表1.notes。
我想要的是每次我发布更新到表1.notes我希望表2有要插入的Table1.ID和Table1.notes的值。没有为Table2.ID指定主键。因此,每次我向Table1.Notes发布UPDATE时,表2都会获得具有这些值的另一个新条目。我想捕获表1注释的历史注释。
我猜触发器是最好的吗?不知道该怎么办
答
触发器似乎是一个很好的选择。考虑下面的代码片段作为你可能为你的需求做什么的一个例子。请注意,我插入NULL
作为ETA
值,因为您没有提供关于ETA
新插入值应该是什么的信息。对于InsertDate
,我使用当前日期。
DELIMITER //
CREATE TRIGGER table1_after_update
AFTER UPDATE
ON table1 FOR EACH ROW
BEGIN
INSERT INTO table2 (notes, ETA, InsertDate)
VALUES (NEW.notes, NULL, CURDATE())
END; //
DELIMITER ;