既存の MySQL テーブルの主キーに自動インクリメントを追加する
主キー ID を持つテーブルで自動インクリメンターが欠落しているデータベースを取得した後、これらを自動インクリメント列に変換する必要が生じる場合があります。これは、次の手順で実行できます。
列定義を変更します。
MODIFY COLUMN 句を指定した ALTER TABLE ステートメントを使用して再定義します。主キー列を AUTO_INCREMENT として指定します。たとえば、foo テーブルの id 列を変更するには:
ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
効果を確認します:
SHOW CREATE TABLE foo を実行して、変更が有効になっていることを確認します。出力には、AUTO_INCREMENT オプションを使用して更新された列定義が表示されます。
テスト挿入:
行を指定せずにテーブルに新しい行を挿入します。 ID 列の値:
INSERT INTO foo () VALUES ();
新しく挿入された行には、自動的に生成された値が割り当てられます。
トラブルシューティング エラー 150:
プロセス中に「... の名前変更時にエラーが発生しました (エラー番号: 150)」エラーが発生した場合は、外部キー制約との競合を示している可能性があります。問題の診断については、次のリソースを参照してください:
以上が既存の MySQL テーブルの主キーに自動インクリメントを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。