ホームページ >データベース >mysql チュートリアル >既存の MySQL テーブルに AUTO_INCREMENT 機能を追加するにはどうすればよいですか?
テーブルの変更: MySQL に AUTOINCREMENT 機能を追加する
MySQL の領域では、テーブルの構造を変更する必要がある状況に遭遇することがあります。作成後。一般的なタスクの 1 つは、AUTOINCREMENT 列を追加することです。これは、レコードがテーブルに挿入されるときに自動的に連続する値を割り当てます。
「itemid」という名前の列を持つ「ALLITEMS」という名前のテーブルを作成したシナリオを考えてみましょう。自動インクリメントが必要であることがわかった後、次のように ALTER ステートメントを使用しようとします。
ALTER TABLE allitems MODIFY itemid INT(10) UNSIGNED AUTOINCREMENT;
ただし、このコードでは構文エラーが発生します。問題は「MODIFY」キーワードの使用法にあります。 AUTOINCREMENT カラムを追加するには、MySQL では代わりに「CHANGE」キーワードが必要です。
CREATE TABLE ALLITEMS( itemid INT(10) UNSIGNED, itemname VARCHAR(50) ); ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10) AUTO_INCREMENT PRIMARY KEY; DESC ALLITEMS;
この変更されたコードを実行すると、「itemid」カラムは AUTO_INCREMENT カラムになり、新しいレコードは「 ALLITEMS" テーブルは自動的に連続した整数値を受け取ります。 AUTO_INCREMENT 列は一意の識別子としてよく使用されることに注意してください。主キーの機能を確保するには、AUTO_INCREMENT カラムを定義した後に「PRIMARY KEY」制約を追加することを検討してください。
さらに、MySQL には AUTO_INCREMENT シーケンスの開始値を指定できる「START WITH」句が用意されています。これは、既存のシーケンスを継続する必要がある場合、または値の重複を避ける必要がある場合に特に便利です。例:
ALTER TABLE tbl AUTO_INCREMENT = 100;
これにより、「tbl」テーブルの AUTO_INCREMENT シーケンスの開始値が 100 に設定されます。したがって、次に挿入されるレコードの「itemid」は 101 になります。
「CHANGE」と「START WITH」の正しい使用法を理解すると、MySQL テーブル構造を効果的に管理および更新し、要件を満たすようにすることができます。特定のデータベース要件。
以上が既存の MySQL テーブルに AUTO_INCREMENT 機能を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。