【发布时间】:2016-12-30 16:03:47
【问题描述】:
我正在合并两个可能具有相同主键 (id) 的表,这将产生重复输入错误。 我可以为插入的数据甚至现有数据生成新的主键,所以如果示例数据库是:
table_a
Id | Name
----------
1 | Jack
----------
2 | Jill
----------
3 | John
----------
table_b
Id | Name
----------
1 | Jim
----------
2 | Jenny
----------
3 | Joy
----------
导入脚本是INSERT INTO table_a SELECT * FROM table_b;
当检测到重复 ID 时,如何让脚本分配新 ID?
我意识到我可以以与Merge and update primary key 中所述类似的方式执行INSERT INTO table_a (name) SELECT name FROM table_b,但我有近 100 个不同结构的表需要合并,并且希望能够使用SELECT * 和分配新的 ID。
【问题讨论】:
-
您应该对 id 使用自动增量,并且只添加目标表中不存在的名称..