【发布时间】:2015-07-21 09:16:20
【问题描述】:
我正在尝试将一些值从一个表导入另一个表,问题是这两个表有一个主列 id
所以当我做INSERT INTO tab1 (SELECT * FROM tab2)
键“PRIMARY”的条目 1 重复
它说我不能,因为 id 1 已经存在, 我真的不在乎保存id,我只想在tab1的末尾插入它
所以我有 id 来执行此操作(没有 id 列):
INSERT INTO tab1 (SELECT col2,col3 FROM tab2)
...等等,但它说 列数与第 1 行的值计数不匹配
我怎样才能只插入带有新 id 的所有内容?
提前致谢
【问题讨论】:
-
尝试使用扩展的 INSERT 版本,首先指定要插入的列,然后提供 VALUES。
-
INSERT IGNORE INTO tab1 (SELECT * FROM tab2)。重复的将被忽略。或者你可以按照@cen 的建议去做,这就是我会做的。 -
如果您不关心该列是否唯一,请从中删除唯一约束。
标签: mysql