0
當嘗試創建觸發器以將行從一個表插入另一個表時,出現語法錯誤...更新了過程中的日期和時間。這是我的查詢:通過mySQL觸發器將行插入到另一個表
INSERT INTO `second_table` (field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12)
(SELECT `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9` FROM `first_table` WHERE `field1` = NEW.`field1`), CURDATE(), NOW(), (SELECT `field12` FROM `second_table` WHERE `field1` = NEW.`field1`);
當更新first_table
時,此觸發器將運行。我不確定這是否是完成任務的正確方法。爲了簡單起見,我已經概括了字段和表名。
編輯:
這兩列之間的列是相同的。我只是希望能夠在觸發發生時更新日期和時間。這工作,但顯然只是複製以前的日期和時間:
INSERT INTO `second_table` (SELECT * FROM `first_table` WHERE `field1` = NEW.`field1`);
它可能是指定列的列表是個好主意。 – Kermit 2013-03-21 18:20:58
不知道你是什麼意思......這兩個表格中的列是相同的,我只是希望能夠抓住觸發發生時的當前日期和時間。 – 2013-03-21 18:22:18
沒關係。這是不好的做法。如果目標表更改列順序或添加/移除列會發生什麼? – Kermit 2013-03-21 18:23:00