我将数据放入生产服务器时遇到了一个特别奇怪的问题。我的测试服务器运行MySQL 5.1.41。我导出数据库(通过mysqldump和PHPMyAdmin尝试),然后尝试导入到运行MySQL 5.0.92的生产服务器。
在其中一个表中,我收到错误“#1062 - 密钥1的重复条目'1'”。该表有一个PRIMARY键和一个UNIQUE复合键。当我查看phpmyadmin错误的输出时,我没有看到任何重复。
我已经尝试过了: - 使用“添加自动增量”选项导出 - 检查校对是否相同。他们是。此外,有问题的密钥是数字。
所以如果有人知道可能导致错误的原因,以及如何解决它 - 我会很感激。
答案 0 :(得分:0)
尝试从转储中的表中删除索引,然后在导入所有数据时手动添加它。
答案 1 :(得分:0)
如果源数据库中的一切正常,我唯一能想到的是目标数据库没有将相应的列设置为AUTO_INCREMENT。
您是否尝试在目标数据库中手动创建该表,并在导入源转储之前将相关列设置为AUTO_INCREMENT?
答案 2 :(得分:0)
解决方案是在导入之前从列中删除AUTO_INCREMENT属性。但仍然不明白为什么。索引实际上可以保留。然后可以轻松地添加AUTO_INCREMENT。 Martin&的混合物。 Silver Light提议,但我猜这些答案都没有完全正确。