0

我有两张桌子 - table1 和 table2

table1 有14 columns,table2 有15 columns. 两个表first 14 columns中的 相同且顺序相同。我想将 table1 的某些行复制到 table2 中,并将时间戳插入第 15 列。如何为此编写查询?

4

2 回答 2

2
INSERT INTO t2(c1,c2,c3)
SELECT c1,c2, NOW() FROM t1;

您可以使用 *,但这是未来问题的秘诀:当您更改其中一个表中的列定义时,查询将失败。

于 2012-06-13T07:35:27.377 回答
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
于 2012-06-13T07:34:18.080 回答