【发布时间】:2014-01-07 23:13:52
【问题描述】:
我有两个具有相同元素的表,唯一的区别是有主键和自动增量的 id。
Table1 | Table2
id1(PK)| id2(PK)
col1 | col1
col2 | col2
col3 | col3
我知道一些快速的方法来做到这一点,
INSERT INTO table2 SELECT * FROM table1 where id1 = 2
在使用这种方法时,table2 的内容具有 id2 = 2,因为它将所有字段从 table1 直接复制到 table2,以限制, 我也可以用方法
INSERT INTO table2(col1,col2,col3) SELECT col1,col2,col3 FROM table1 WHERE id1 = 2
这种方式适合短表,但我的表中有很多列。
我需要一种快速的方法将所有列从 table1 复制到 table2 留下主列 id2,因为它是自动递增的。
就像我想将指定行从 table1 复制到具有不同 id2 的 table2(将作为其自动增量生成)。
有没有可能。
【问题讨论】:
-
为什么不用
WHERE子句来标记!=id2。 -
但仍然会将所有项目从 table1 复制到 table2 leving those = id2,我只想复制依赖于 id1 的表的特定行。
标签: mysql