属性を追加するときのエラー:SQLSTATE [23000]:整合性制約違反:1062キー1の重複エントリ '0' '
-
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クエリを記録することです。コマンドラインでは、TailプログラムとTail -f general.logのような-fフラグを使用して、MySQL一般ログをリアルタイムで調べてください。
ここで、整合性の制約違反を与えているアクションを実行してみてください。ログにSQLの試みのクエリが表示されるはずです。この情報を使用すると、問題をより適切に追跡できるはずです。必要に応じて、データベースの悪いエントリを削除します。
私の場合、拡張テーブルは「amasty_amconf_attribute
「、私は0のために0の行を削除しました」attribute_id
「コラム。これが将来誰かを助けることを願っています。