MySQL での既存のテーブル ID の自動インクリメントへの遡及変換
データベースの特定の状況では、手動で生成された ID が自動インクリメントなしでテーブルに実装される場合が発生します。 -インクリメント機能。このような場合、データ管理の効率を高めるために、それらの ID を自動インクリメントにアップグレードすることが望ましいです。この記事では、主キー ID に自動インクリメントを遡及的に追加するプロセスについて詳しく説明します。
解決策: 列定義の変更
主キーを自動インクリメントに変換するにはフィールドでは、MySQL は MODIFY COLUMN オプションを備えた ALTER TABLE コマンドを提供します。次のサンプル テーブルについて考えてみましょう:
<code class="sql">CREATE TABLE foo ( id INT NOT NULL, PRIMARY KEY (id) );</code>
ID 列を自動インクリメントするには、次のコマンドを使用します:
<code class="sql">ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;</code>
検証とテスト
変更ステートメントを実行した後、変更を確認します。
<code class="sql">SHOW CREATE TABLE foo;</code>
出力には、id 列が AUTO_INCREMENT に変更されたことが示されます。
機能をテストするには、新しいレコードを挿入します。 id 列の値を指定しない場合:
<code class="sql">INSERT INTO foo () VALUES ();</code>
挿入された行は、自動的に一意の増分 ID を受け取ります。
アドレス指定エラー コード 150
変更プロセス中にエラー コード 150 (HY000) が発生した場合は、外部キー制約との競合を示している可能性があります。この問題を解決するには、次のリソースのトラブルシューティングを参照してください:
以上がMySQL で既存のテーブル ID を自動インクリメントに遡って変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。