MySQL の既存のテーブルに自動インクリメントを追加する
自動インクリメンタが欠落しているデータベースを継承する場合でも、この機能を有効にすることができます。主キー列を自動インクリメントフィールドに変換する方法は次のとおりです。
ALTER TABLE table_name MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
ID 列は、テーブルに挿入される新しい行に対して一意の値を自動的に生成するようになります。
ただし、外部キーの依存関係を持つ列を変更すると (別のテーブルが ID を参照する場合など)、エラー 150 が発生する場合があります。この問題をトラブルシューティングするには:
自動インクリメント機能が導入されたら、新しいキー制約を挿入します。 id 列の値を指定しない行には、一意の連続した値が設定されます。
INSERT INTO table_name () VALUES ();
列定義を適切に変更することで、新しい列を作成して元の列を削除する必要がなくなり、列の内容は維持されます。テーブルの主キー制約と参照整合性の維持。
以上がデータを失ったり外部キー制約を破ったりすることなく、MySQL の既存のテーブルに自動インクリメントを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。