admin

MySQL:将表复制到具有额外列的另一个表

sql

我有两个表,tab1和tab2。

tab2具有tab1的所有列,但带有用于时间戳记的额外列。我想做的是将所有行从tab1复制到tab2,并为我插入的所有行输入相同的timestamp时间戳列。我可以得到并输入正确的时间,但是我很困惑如何复制和插入数据,并为插入的所有行的时间戳填写最后一列。

所以我想做:

Insert into tab2 select * from tab1

但是我也想为tab2中的最后一列添加数据,我该怎么做?


阅读 150

收藏
2021-06-07

共1个答案

admin

您可以将时间戳记添加到选择列表,以便两个表的列列表都匹配:

INSERT INTO tab2
SELECT *, CURRENT_TIMESTAMP()
FROM   tab1

编辑
要在评论中回答问题-您不必使用CURRENT_TIMESTAMP()。任何返回时间戳的表达式都可以。您可以使用硬编码的时间戳:

INSERT INTO tab2
SELECT *, TIMESTAMP('2017-07-07 19:43:00')
FROM   tab1
2021-06-07