2

我有两个表,tab1 和 tab2。

tab2 具有 tab1 的所有列,但有一个用于时间戳的额外列。我想要做的是将所有行从 tab1 复制到 tab2 并为我插入的所有行输入相同的 time 时间戳列。我可以很好地获取和输入时间,但我很困惑如何复制和插入数据并用我插入的所有行的时间戳填充最后一列。

所以我想做:

Insert into tab2 select * from tab1

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

4

1 回答 1

2

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

INSERT INTO tab2
SELECT *, CURRENT_TIMESTAMP()
FROM   tab1

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

INSERT INTO tab2
SELECT *, TIMESTAMP('2017-07-07 19:43:00')
FROM   tab1
于 2017-02-23T20:44:17.080 回答