我有两个表,tab1和tab2。
tab2具有tab1的所有列,但带有用于时间戳记的额外列。我想做的是将所有行从tab1复制到tab2,并为我插入的所有行输入相同的timestamp时间戳列。我可以得到并输入正确的时间,但是我很困惑如何复制和插入数据,并为插入的所有行的时间戳填写最后一列。
所以我想做:
Insert into tab2 select * from tab1
但是我也想为tab2中的最后一列添加数据,我该怎么做?
您可以将时间戳记添加到选择列表,以便两个表的列列表都匹配:
INSERT INTO tab2 SELECT *, CURRENT_TIMESTAMP() FROM tab1
编辑 要在评论中回答问题-您不必使用CURRENT_TIMESTAMP()。任何返回时间戳的表达式都可以。您可以使用硬编码的时间戳:
CURRENT_TIMESTAMP()
INSERT INTO tab2 SELECT *, TIMESTAMP('2017-07-07 19:43:00') FROM tab1