我有 2 个表
test_table:
id data_text
1 *some text*
undo_test_table:
id data_text modification_date
.
CREATE TRIGGER undo_trigger BEFORE UPDATE
ON test_table
FOR EACH ROW
INSERT INTO undo_test_table SELECT *,NOW() AS modification_date
FROM test_table
WHERE id = NEW.id
我尝试的是,如果修改第一个表上的一列,则触发触发器 (undo_trigger) 并将整行复制到另一个表 (undo_test_table )
但是在第二个表(undo_test_table)中,我还有一列(modification_date)
问题:
上面的例子效果很好,但我不知道如果我将 (modification_date) 列更改为 (undo_test_table) 中的最后一位,我不知道如何使其工作 喜欢这个:
undo_test_table:
modification_date id data_text
我试过:
SELECT NOW() AS modification_date,* FROM test_table ...
相反
SELECT *,NOW() AS modification_date FROM test_table ...
但是有sintax错误。
我想我需要一些像 UNION 一样的东西,但我不知道如何在一个联盟中使用NOW() 作为modification_date
您需要使用表的名称限定*
:
SELECT NOW() AS modification_date, t.*
-- Here ---------------------------^
FROM test_table
-- etc...