MySQL:将表复制到另一个表与一个额外的列
问题描述:
我有两个表,tab1和tab2。MySQL:将表复制到另一个表与一个额外的列
tab2具有tab1的所有列,但具有时间戳的额外列。我想要做的就是将tab1中的所有行复制到tab2中,并为插入的所有行输入同一时间的timestamp列。我可以得到并输入时间,但我很困惑如何复制和插入数据,并填入所有插入行的时间戳记的最后一列。
所以我想做的事:
Insert into tab2 select * from tab1
,但我也想在这TAB2最后一列中添加数据,我该怎么办呢?
答
您可以在时间戳添加到选择列表,以便这两个表的列清单将匹配:
INSERT INTO tab2
SELECT *, CURRENT_TIMESTAMP()
FROM tab1
编辑
要回答这个问题的意见 - 你不必使用CURRENT_TIMESTAMP()
。任何返回时间戳的表达式都可以。您可以使用硬编码的时间戳:
INSERT INTO tab2
SELECT *, TIMESTAMP('2017-07-07 19:43:00')
FROM tab1
好主意,但我不一定要获取当前时间并使用它。如果我想把一个静态值,我会怎么做?我可以用“2017-07-07 19:43:00”替代“CURRENT_TIMESTAMP()”吗? –
我解决了INSERT INTO tab1 SELECT *,'07/07/07 19:43:00'FROM tab1。谢谢 –