簡體   English   中英

mysql(copy)從select插入並添加一個別名列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM