我正在使用此代码:
INSERT INTO table_b SELECT * FROM table_a WHERE id = 'Example1';
DELETE FROM table_a WHERE id = 'Example1';
我想将数据从一个表(Table_a)移动(或复制然后删除)到另一个表(Table_B)
但我有这个错误:
列数与第1行的值计数不匹配
因为 Table_b 中包含 TIMESTAMP 列,而 Table_a 则不包含
。如何在时间戳上加上值?任何帮助将受到高度赞赏。 谢谢。
答案 0 :(得分:2)
明确列出列。我认为错误信息很清楚,当你使用insert
时,你应该养成列出列的习惯:
insert into table_b(col1, . . . , coln)
select col1, . . . coln
from table_a
where id = 'Example1';
答案 1 :(得分:1)
如果时间戳是第一列或最后一列,您可以尝试使用:
SELECT *, now() FROM ... or SELECT now(), * FROM ...
否则你必须提供所有列名,正如戈登建议的那样