ホームページ >データベース >mysql チュートリアル >ALTER TABLE を使用して既存の MySQL 列に自動インクリメントを追加する方法

ALTER TABLE を使用して既存の MySQL 列に自動インクリメントを追加する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-18 07:37:11180ブラウズ

How to Add Auto-Increment to an Existing MySQL Column Using ALTER TABLE?

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 キーワードの違いに注意することが重要です。これらは似ているように見えますが、目的は異なります。

  • CHANGE: 既存の列の名前、データ型、またはデフォルト値を変更します。
  • MODIFY: データ型を変更しますが、名前やデフォルトは変更しませんvalue.

たとえば、itemid のデータ型を INT(10) から INT(5) に変更するには、次のコマンドを使用します。

ALTER TABLE ALLITEMS MODIFY itemid INT(5);

以上がALTER TABLE を使用して既存の MySQL 列に自動インクリメントを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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