我有一个表测试它有 10 列 20 行。
我需要将此数据移动到具有 11 列的 archive_test 表(与测试表相同的 10 列加上一列是存档日期)。
当我试图插入如下所示的错误时,因为列数不匹配。
insert into archive_test
select * from test;
请提出更好的方法来做到这一点。谢谢!
好吧,显然您需要为所有列提供值,尽管您可以避免这样做,但您还应该明确说明将哪个值插入到哪一列中。如果您在目标表中有一个额外的列,您可以:
例如。
insert into table archive_test (col1, col2, col3 ... col11)
select col1,
col2,
col3,
...
sysdate
from test;
假设这archive_date
是最后一列:
INSERT INTO archive_test
SELECT test.*, sysdate
FROM test