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

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

DDD
DDDオリジナル
2024-10-28 23:05:30213ブラウズ

How to Convert Existing Primary Key Columns to Auto-Increment in MySQL?

MySQL で既存の主キー列を自動インクリメントに変換する

多くのインスタンスでは、既存の主キー列を含むデータベースの取得が必要ですが、自動インクリメントがありません特徴。これまでコード内で手動インクリメントが使用されてきましたが、データベース管理を改善するには自動インクリメンターに切り替えることが望ましいです。

既存の列への自動インクリメントの追加

既存の主キー列を自動インクリメントする列に変換するには、次の手順に従います:

ALTER TABLE <table-name> MODIFY COLUMN <column-name> INT NOT NULL AUTO_INCREMENT;

たとえば、「foo」テーブルの主キー列「id」を変更するには:

ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;

変更を確認するには、SHOW CREATE TABLE コマンドを使用します。

SHOW CREATE TABLE foo;

次のような行が出力されます。

...`id` INT(11) NOT NULL AUTO_INCREMENT,
...

Testing Auto-インクリメント機能

自動インクリメントが期待どおりに機能することを確認するには、「id」列の値を指定せずに新しいレコードを挿入します。

INSERT INTO foo () VALUES ();

'foo' テーブルには、新しく自動インクリメントされた値が表示されます。

アドレス指定エラー 150

テーブルの名前を変更するときにエラー 150 が発生した場合は、競合が原因である可能性があります。外部キー制約あり。これを解決するには、主キー列を変更した後、外部キー関係を削除して再作成する必要がある場合があります。

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

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