我在phpmyadmin local(wamp)中导入Magento sql转储,在更改core_config_data中的URL后,我的网站在本地工作,但第二次,我有一个错误:
a:5:{i:0;s:298:"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate '0' for key 'PRIMARY', query was: INSERT INTO `log_visitor_info`...
如果我在log_visitor_info表中删除了hte行,它就可以了。 它看起来像一个自动增量问题,但如何解决它?
答案 0 :(得分:1)
此行为可能有两个原因
正如auto increment上的MySQL文档所说:
除非启用NO_AUTO_VALUE_ON_ZERO SQL模式,否则您还可以显式为列生成0以生成序列号。
因此,在您重新导入数据的MySQL服务器中,此NO_AUTO_VALUE_ON_ZERO SQL模式已启用,因此MySQL将0值视为文字值,而不是应触发下一个要分配的自动增量值的值。
解决方案:要么禁用此sql模式设置,要么从insert语句中省略此字段。
您必须检查数据库中的现有数据或正在导入的文件中的其他数据项是否与产生错误的记录冲突。