次のステートメントALTER TABLE my_tbl ADD PRIMARY KEY (id );
を使用して、主キーを既存の MySQL テーブルに追加しています。返信で、エラーが発生しています:
エラー 156 : テーブル 'db_name.my_tbl#1' は既に存在します。
チェックしたところ、テーブルに重複する id エントリがありません。次のようなことをするとDROP TABLE my_tbl#1
、元のテーブル (my_tbl) が削除されます。Create Table my_tbl SELECT id, ... FROM tmp_tbl
my_tbl が(ここで tmp_tbl は一時テーブルです)によって作成されたことに注意することはおそらく興味深いことです。
ここで何が起こっているのか誰にも分かりますか?
更新: ここには、ある種の孤立したテーブルの状況があるようです。以下の回答の提案を試しましたが、私の場合、問題は解決しませんでした。最終的に回避策を使用しました。別の名前 (例: my_tbl_new) のテーブルを作成し、情報をこのテーブルにコピーして、主キーを追加しました。次に、元のテーブルを削除し、新しいテーブルの名前を my_tbl に戻しました。