添加属性时的错误:SQLSTATE [23000]:完整性约束违规:1062重复输入'0'for键1
-
16-10-2019 - |
题
我正在尝试添加一个新属性,但似乎对表的主键的增量ID有问题 eav_attribute
, ,那是 attribute_id
.
每次尝试添加新属性时,我都会收到此错误:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 1
我尝试重新索引,清除缓存并截断了所有日志表,但无效。类别属性已成功添加到MySQL设置文件中,我认为该文件可能导致自动增量从同步中脱颖而出?
以前有人遇到过这个错误吗?
解决方案 2
问题是我们安装了一个扩展名,该扩展名创建了一个产品属性,并以ID 0插入了它。这基本上是拧紧自动增量的,这意味着我们下次尝试创建一个使用ID 1的属性。
我们删除了行并卸载了扩展名,然后运行良好。
其他提示
我以前看过这个问题。当数据库被写入Magento API外部时,它发生了问题。一个简单的解决方案是打开MySQL常规日志以记录所有SQL查询。在命令行上,请使用尾部程序和-f标志,例如tail -f enerage.log,在命令行上查看MySQL常规日志
现在,尝试执行使您违反完整性约束的动作,您应该在日志中看到尝试的SQL查询。使用此信息,您应该能够更好地跟踪问题,并在需要时删除数据库中的不良条目。
在我的情况下,扩展表是“amasty_amconf_attribute
“,我删除了具有0的行”attribute_id
“专栏。希望这将在将来对某人有所帮助。