我想从旧表中选择数据并将其插入到新表中:
CREATE TABLE test2 LIKE test1
INSERT INTO test2 SELECT timestamp, datenum FROM test1 WHERE datenum>=23 and datenum<=1000000 ON DUPLICATE KEY UPDATE datenum=VALUES(datenum)
我在 test2 和 test1 中也有和id
列,但我想id
从 1 开始。如果我使用上面的查询,我会收到以下错误
ERROR 1136: Column count doesn't match value count at row 1
INSERT INTO test2 SELECT * FROM test1 WHERE datenum>=23 and datenum<=1000000 ON DUPLICATE KEY UPDATE datenum=VALUES(datenum)
在这种情况下,id 从 3239 开始。
我相信
id
是自动增量字段,并且您希望此值在新表中以 1 开头。您可以在第一个查询中指定列列表,这样它就不会失败: