我有2个表,我想结合其数据。 id是我的关键字段(增量和不同)。 表1和表2字段描述例如: id - 名称 - 值
我想将所有表2数据插入到表1中,它们具有不同的数据,但在某些行中具有相同的ID。
所以当我尝试: INSERT INTO ladatabase.table2 SELECT * from ladatabase.table1;
我收到重复的输入错误。
请帮我建议如何解决它并将数据与不同的id值组合在一起用于新数据。
亚历克斯。
答案 0 :(得分:0)
这里有两种方式:
首先你可以使用id AUTO INCREMENT
INSERT INTO ladatabase.table2
SELECT '', name, value from ladatabase.table1;
或者您找到第一个免费ID并添加
INSERT INTO ladatabase.table2
SELECT id+555 , name, value from ladatabase.table1;
答案 1 :(得分:0)
不插入所有字段(从SELECT中排除'id'-field):
INSERT INTO ladatabase.table2 SELECT name,value from ladatabase.table1;
答案 2 :(得分:0)
您需要复制除ID列以外的所有内容,并且它将分配新的ID。您需要明确列出所有其他列。退出ID列将使其获得其默认值,即auto_increment
字段的顺序ID。
INSERT INTO table2 (col2, col3, col4, ...)
SELECT col2, col3, col4, ...
FROM table1