ホームページ >データベース >mysql チュートリアル >MySQL エラー 1022: テーブル作成時の重複キーのトラブルシューティング方法
テーブル作成時の重複キー エラー: "エラー 1022" のトラブルシューティング
ユーザーは悪名高い "エラー 1022: 書き込みできません。新しいテーブルを作成しようとすると、「テーブル内のキーが重複しています」というエラーが発生しました。 SQL クエリを調べたところ、重複の原因はすぐにはわかりませんでした。
クエリは、idUserCircle、userId、circleId を含む複数の列を持つ usercircle という名前のテーブルを作成しました。また、idUserCircle の主キーと、userId 列とcircleId 列のユーザー テーブルとサークル テーブルを参照する外部キー制約もそれぞれ指定しました。
競合の特定
キーこのエラーを解決するには、外部キー制約を含む制約がデータベース内だけでなくデータベース全体で一意である必要があることを認識する必要があります。特定のテーブル。したがって、根本的な問題は、データベース内の他の場所で制約名が重複している可能性があります。
解決策
どの制約が競合しているかを判断するには、ユーザーは次のクエリを実行できます。
SELECT `TABLE_SCHEMA`, `TABLE_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
このクエリは、現在 iduser 制約と idcategory 制約を使用しているテーブルと列を明らかにします。重複した制約の名前を変更することで、ユーザーはエラーを解決し、usercircle テーブルを正常に作成できます。
追加のヒント
以上がMySQL エラー 1022: テーブル作成時の重複キーのトラブルシューティング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。