3

データベースからすべてのテーブルを削除し、バックアップを復元 (インポート) しました。その後、私は取得してerror #1062 - Duplicate entry '1' for key 1います。

プロセスを繰り返す必要があります。または、他の何か?なぜこのエラーが発生するのですか?

4

4 に答える 4

5

これは、テーブルにUNIQUEまたはPRIMARYインデックスがあり、これらのインデックスの1つに挿入される値の1つに重複する値があることを示します。

どの特定の操作がこのエラーを引き起こしたかを調べて、どのテーブルとどの行を書き込もうとしていたかを見つける必要があります。うまくいけば、phpMyAdminは、問題の原因となったデータの行を教えてくれるはずですよね?

1つの推測は、テーブルにすでにあるデータを複製するデータをインポートしていることです。つまり、思っていたように既存のデータを削除していない可能性があります。しかし、それはいくつものことかもしれません。

于 2010-07-19T04:50:07.563 に答える
1

音から、ダンプには保持されているクエリ内に重複したエントリがあります。

これは起こるべきではありませんが、過去に私に起こりました。これを解決するには、次の 2 つのオプションをお勧めします。

  1. 各テーブル ダンプの先頭にあるADD UNIQUE INDEXand/orを手動で削除します。PRIMARY KEY次に、同じ構造テーブルを作成し、不足しているインデックスを追加して、INSERT IGNORE INTO new_tbl (SELECT * FROM tbl)
  2. INSERT IGNOREログに挿入ステートメントを追加する
于 2013-03-31T07:36:34.390 に答える
-1

これを修正するには、DB をエクスポートするときに、「フォーマット固有のオプション:」の下の「ゼロ値には AUTO_INCREMENT を使用しない」のチェックを外してみてください。以下の画像を参照してください。

ここに画像の説明を入力

于 2013-08-19T02:23:51.910 に答える