ホームページ > データベース > mysql チュートリアル > 既存の MySQL テーブルの主キーに自動インクリメントを追加するにはどうすればよいですか?

既存の MySQL テーブルの主キーに自動インクリメントを追加するにはどうすればよいですか?

DDD
リリース: 2024-10-29 13:08:29
オリジナル
316 人が閲覧しました

How Do I Add Auto-Increment to Existing MySQL Table Primary Keys?

既存の MySQL テーブルの主キーに自動インクリメントを追加する

主キー ID を持つテーブルで自動インクリメンターが欠落しているデータベースを取得した後、これらを自動インクリメント列に変換する必要が生じる場合があります。これは、次の手順で実行できます。

  1. 列定義を変更します。

    MODIFY COLUMN 句を指定した ALTER TABLE ステートメントを使用して再定義します。主キー列を AUTO_INCREMENT として指定します。たとえば、foo テーブルの id 列を変更するには:

    ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
    ログイン後にコピー
  2. 効果を確認します:

    SHOW CREATE TABLE foo を実行して、変更が有効になっていることを確認します。出力には、AUTO_INCREMENT オプションを使用して更新された列定義が表示されます。

  3. テスト挿入:

    行を指定せずにテーブルに新しい行を挿入します。 ID 列の値:

    INSERT INTO foo () VALUES ();
    ログイン後にコピー

    新しく挿入された行には、自動的に生成された値が割り当てられます。

トラブルシューティング エラー 150:

プロセス中に「... の名前変更時にエラーが発生しました (エラー番号: 150)」エラーが発生した場合は、外部キー制約との競合を示している可能性があります。問題の診断については、次のリソースを参照してください:

  • [mysql エラー 1025 (HY000): '.foo' の名前変更時のエラー (エラー番号: 150) は何を意味しますか?]( https://stackoverflow.com/questions/11444139/what-does-mysql-error-1025-hy000-error-on-rename-of-foo-errorno-150-me)
  • [http:/ /www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html](http://www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html)

以上が既存の MySQL テーブルの主キーに自動インクリメントを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート