[英]mysql (copy) insert into from select and add one alias column
我有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但我不知道如何在一個UNION中使用NOW()AS modification_date
您需要使用表的名稱限定*
:
SELECT NOW() AS modification_date, t.*
-- Here ---------------------------^
FROM test_table
-- etc...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.