使用SELECT与TIMESTAMP进行MySQL INSERT INTO

时间:2014-10-02 22:28:19

标签: mysql sql vb.net

我正在使用此代码:

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 则不包含

如何在时间戳上加上值?任何帮助将受到高度赞赏。 谢谢。

2 个答案:

答案 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 ... 

否则你必须提供所有列名,正如戈登建议的那样