ホームページ  >  記事  >  データベース  >  MySQL で既存の主キー ID を自動インクリメンターに変換するにはどうすればよいですか?

MySQL で既存の主キー ID を自動インクリメンターに変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-27 10:43:03272ブラウズ

How Can I Convert Existing Primary Key IDs to Auto-Incrementers in MySQL?

MySQL で主キー ID を自動インクリメンタに変換する

別の開発者から取得したデータベースでは、テーブルで自動インクリメンタが有効になっていない可能性があります、主キー ID があるにもかかわらず。このため、これらの主キー ID を自動インクリメンタに変換できるかどうかという疑問が生じます。

解決策

既存の主キー ID を自動インクリメンタに変換するには、次のようにします。 ALTER TABLE ステートメントを MODIFY COLUMN 句とともに使用します。これにより、列定義を変更し、AUTO_INCREMENT オプションを指定できます。

例:

<code class="mysql">ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;</code>

ここで、foo テーブルには、現在自動インクリメントされていない id という名前の列があります。ステートメントの実行後、自動インクリメントを使用するように id 列が変更されます。

注:

  • 元の主キー制約は、この変更による影響を受けません。 .
  • SHOW CREATE TABLE ステートメントを使用して更新されたテーブル定義を表示すると、変更を確認できます。
  • テーブルに新しい行を挿入すると、id 列に新しい値が自動的に割り当てられます。 .

トラブルシューティング

「'.DBNAME#sql-6c8_62259c' を '.DBNAMEdealer_master_events' に名前変更するときにエラーが発生しました」などのエラーが発生した場合外部キー制約との競合が原因である可能性があります。問題を診断して解決するには、次のようなリソースを参照してください。

  • mysql エラー 1025 (HY000): '.foo' の名前変更時のエラー (エラー番号: 150) は何を意味しますか?
  • http://www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。