MYSQL在表1的表1更新记录中插入新记录

时间:2017-08-08 01:39:09

标签: mysql triggers sql-update

不知道如何实现这一点,我有以下2个表:

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发出UPDATE。我希望表2具有要插入的Table1.ID和Table1.notes的值。没有为Table2.ID指定主键。因此每次我向Table1.Notes发出UPDATE时,表2会获得另一个带有这些值的新条目。我想捕获表1注释的历史记录。

我猜这个触发器最好吗?不知道该怎么做

1 个答案:

答案 0 :(得分:0)

触发器似乎是一个不错的选择。请将下面的代码段视为您可能针对您的要求执行的操作的示例。请注意,我将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 ;