Magento - 关于客户更新的“SQLSTATE [23000]:完整性约束违规...”

时间:2011-05-23 21:54:47

标签: mysql sql magento mysql-error-1062

迁移服务器后,每次尝试更新客户信息时都会收到错误消息。我正在使用customer activation plugin,但在禁用它之后,我仍然会遇到同样的错误。

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '7-127' for key 2

有什么问题?

即使在卸载插件后,我在尝试保存客户信息时也会收到此错误消息。所以这让我相信它与Magento和/或我切换到的服务器有更大的问题。

我检查了Magento的日志,我多次收到此通知:

ERR (3): User Notice: Sorry, your PCRE extension does not support UTF8 which is needed for the I18N core  in ../httpdocs/store/lib/Zend/Locale/Format.php on line 769

这是相关的吗?

3 个答案:

答案 0 :(得分:9)

问题是因为当您迁移数据库时,mysql 有帮助地重新启动自动递增的id列,而Magento有一些硬编码值,假设ID从零开始。导入数据时需要禁用foreign_key_checks。

答案 1 :(得分:1)

您的编辑正在尝试重新创建用户,而不是更新现有用户。这是插件的一个错误。您可能希望将其报告给作者或等待更新结果。

答案 2 :(得分:1)

如果您尝试导入SQL文件,请确保“禁用外键检查”。 为此,只需在SQL文件的开头添加 SET FOREIGN_KEY_CHECKS = 0; 。 还要在文件末尾添加 SET FOREIGN_KEY_CHECKS = 1;