2017-08-08 255 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 ; 
相關問題