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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-04 14:25:14752ブラウズ

How to Add an Auto-Incrementing Primary Key to an Existing Table?

自動インクリメント主キーを実装するためのテーブルの変更

主キーや自動インクリメント列のない既存のテーブルを操作する場合、データを強化するための調整が必要になる場合があります。誠実さと管理。このガイドでは、一般的なシナリオについて説明します。つまり、自動インクリメント主キーをテーブルに追加し、既存の行に適切な値を設定して、手動入力の必要性を排除します。

自動インクリメント主キー列の追加

自動インクリメント主キーを確立するには、次の ALTER TABLE ステートメントを利用できます:

ALTER TABLE table_name ADD column_name INT PRIMARY KEY AUTO_INCREMENT;

これステートメントは、「column_name」という名前の新しい列をテーブルに追加し、それを主キーとして指定します。また、自動インクリメント機能も有効になり、テーブルに挿入された新しい行には必ず一意の連続 ID が割り当てられます。

列に行 ID を設定する

主キー列が作成されたら、既存の行に適切な値を入力する必要があります。前述のステートメントは、各行に 1 から始まる連続番号を割り当てることでこれを実現します。これは、一意の ID を手動で割り当てるという面倒でエラーが発生しやすいタスクを自動化するため、テーブルに既にデータが含まれている場合に特に有益です。

デモ

プロセスを説明するために、テスト目的のみに作成された「tbl」という名前の一時テーブルを考えてみましょう。初期状態では、主キーも自動インクリメント列も含まれていません:

CREATE TEMPORARY TABLE tbl (data INT);
INSERT INTO tbl VALUES (10), (20), (30), (40), (50);

前述の ALTER TABLE ステートメントの実行後:

ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

自動インクリメントで「id」列が追加されます有効になり、既存の行には必要に応じて連続 ID が割り当てられます:

SELECT * FROM tbl;
| id | data |
|-----|------|
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
| 4 | 40 |
| 5 | 50 |

Inこの例では、自動インクリメント機能により、各行が一意で連続した ID を持つことが保証され、データの取得と管理の操作が大幅に簡素化されます。

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

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