2017-08-08 207 views
0

不知道如何做到这一点,我有以下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注释的历史注释。

我猜触发器是最好的吗?不知道该怎么办

回答

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 ; 
相关问题