MySQL: ALTER を使用してテーブルを変更して自動インクリメントを実装する
MySQL では、多くの場合、特定の機能を追加するために既存のテーブルを変更する必要があります。このような変更の 1 つは、列に自動インクリメント機能を追加することです。これにより、データベースは指定された列に一意の値を自動的に生成できます。
ALTER による自動インクリメントの追加
itemid という名前の列を持つテーブルがある場合、以下を使用して自動インクリメントを追加できます構文:
ALTER TABLE table_name AUTO_INCREMENT = column_name;
例
列 itemid が符号なし INT(10) として定義されている ALLITEMS というテーブルがあるとします。
CREATE TABLE ALLITEMS( itemid INT(10) UNSIGNED, itemname VARCHAR(50) );
itemid 列に自動インクリメントを追加するには、次のコマンドを使用します。 command:
ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10) AUTO_INCREMENT PRIMARY KEY;
このコマンドは itemid をテーブルの主キーにし、列の値が一意であることを保証します。次に、INSERT ステートメントを使用してテーブルにレコードを挿入できます。
INSERT INTO ALLITEMS(itemname) VALUES ('Apple'), ('Orange'), ('Banana');
自動インクリメント動作を確認するには、テーブルからすべてのレコードを選択します。
SELECT * FROM ALLITEMS;
ご覧のとおり、itemid 列には自動生成された値が含まれています。
変更と修正列
列を変更するときは、CHANGE キーワードと MODIFY キーワードの違いに注意することが重要です。これらは似ているように見えますが、目的は異なります。
たとえば、itemid のデータ型を INT(10) から INT(5) に変更するには、次のコマンドを使用します。
ALTER TABLE ALLITEMS MODIFY itemid INT(5);
以上がALTER TABLE を使用して既存の MySQL 列に自動インクリメントを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。