我有两张桌子 - table1和table2
table1有14 columns
,table2有15 columns
。两个表中的first 14 columns
相同且顺序相同。我想将table1的某些行复制到table2中,并将时间戳插入第15列。如何为此编写查询?
答案 0 :(得分:2)
INSERT INTO t2(c1,c2,c3)
SELECT c1,c2, NOW() FROM t1;
您可以使用*,但这是未来问题的一个方法:当您更改其中一个表中的列定义时,查询将失败。
答案 1 :(得分:1)
insert into table2
select *, current_timestamp
from table1
where table1.some_column = 'whatever' -- etc
虽然很方便,但这很脆弱。为所有列命名更清晰,更好:
insert into table2 (col1, col2, col3, ..., col15, col16)
select col1, col2, col3, ..., col15, current_timestamp
from table1
where table1.coln = 'whatever' -- etc