没有ID的MySQL导入

时间:2016-05-04 10:58:38

标签: mysql phpmyadmin

我试图将数据从一个数据库导入到另一个数据库,但我希望导入只插入没有相应ID的值

所以我想说我有1000行。我希望我的导入从1001向上继续。 但我的导出从1开始,所以显然只是想替换数据,我得到了完整性约束错误。

如何只对数据执行简单插入操作,并获取新ID而不是导入尝试使用导出的ID替换旧数据

3 个答案:

答案 0 :(得分:0)

使用

获取所有原始列名称
select * from information_schema.columns
where table_schema = 'orig table'

然后

将其视为导入表上的自动增量,我会这样做:

SELECT --allcolumns exept ID from the original table
INTO --new table
FROM  --original table

答案 1 :(得分:0)

执行此操作的一种方法是将表复制到新表(如果可能,将其复制到新数据库中,以便保留表名,但如果主机不授予您访问权限,则可以在导出时重命名) )。使用“操作”选项卡复制表。

获得副本后,您可以删除不再需要的列。使用Structure选项卡中的Drop链接。

现在您可以准确地获得所需数据,因此您可以使用“导出”选项卡转储到.sql文件。创建导出时,只选择“数据”,而不是“结构和数据”:

data dialog

如果需要,此时可以使用“重命名导出的数据库/表/列”功能(如果要重命名表)。导入到新数据库并且您已完成所有设置。只要(1)你没有在导出中出现auto_increment列,并且(2)你的表名和结构的其余部分在.sql文件和新表之间匹配,剩下的值将被导入并且自动增量键将自动正常增加。

答案 2 :(得分:0)

您只需从源表中删除id列即可。