sql >> データベース >  >> RDS >> Mysql

MySQLの既存のテーブルに自動インクリメント列を追加する方法

    テーブルに行を追加すると、自動インクリメント列の値が自動的に増加します。この記事では、MySQLに自動インクリメント列を追加する方法を見ていきます。


    自動インクリメント列を追加する方法

    MySQLに自動インクリメント列を追加する手順は次のとおりです。次のsales(id、amount)があるとします。 テーブル。

    mysql> create table sales(id int, amount int);
    
    mysql> insert into sales(id,amount) 
           values(1, 100),(4,300),(6,400);
    
    mysql> select * from sales;
    +------+--------+
    | id   | amount |
    +------+--------+
    |    1 |    100 |
    |    4 |    300 |
    |    6 |    400 |
    +------+--------+

    次に、 idを変更します ALTER TABLEを使用して、列を自動インクリメントします。

    ボーナスリード:トップ5の無料データベース設計ツール

    これがALTERTABLEステートメントの構文です

    ALTER TABLE table_name 
    MODIFY column_name INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

    上記のステートメントでは、 table_nameを指定する必要があります およびcolumn_name

    AUTOINCREMENT制約をidに追加するSQLステートメントは次のとおりです。 列。

    ALTER TABLE sales
    MODIFY id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

    次に、salesテーブルにいくつかの行を追加します。

    mysql> insert into sales(amount) values(150),(250);
    
    mysql> select * from sales;
    +----+--------+
    | id | amount |
    +----+--------+
    |  1 |    100 |
    |  4 |    300 |
    |  6 |    400 |
    |  7 |    150 |
    |  8 |    250 |
    +----+--------+

    ご覧のとおり、MySQLは自動的に増加し、 idに入力されています。 値が7と8の列。

    ボーナスリード:MySQLでN番目の行を見つける方法

    テーブルの作成中に自動インクリメント列を追加することもできます。ただし、自動増分制約は主キー列にのみ割り当てることができることに注意してください。

    テーブルの作成中に自動インクリメント列を追加する構文は次のとおりです。

    create table table_name(
    auto_increment_column_name int not null auto_increment primary key,
    column2,
    ...);

    ボーナスリード:MySQLデータベースを複製する方法

    MySQLに自動インクリメント列を追加する例を次に示します

    mysql> create table sales2(id int not null auto_increment primary key, 
    amount int);
    
    mysql> insert into sales2(amount) values(100),(125),(250),(300);
    
    mysql> select * from sales2;
    +----+--------+
    | id | amount |
    +----+--------+
    |  1 |    100 |
    |  2 |    125 |
    |  3 |    250 |
    |  4 |    300 |
    +----+--------+
    

    上記のように、 id 列は自動的にインクリメントされ、入力されます。


    自動インクリメントの初期値を設定する方法

    デフォルトでは、自動インクリメントの列の値は1から始まります。必要に応じて、自動インクリメントの開始値を変更できます。構文は次のとおりです

    alter table table_name AUTO_INCREMENT=increment_value

    上記のSQLクエリでは、 table_nameを指定する必要があります およびincrement_value

    たとえば、初期増分値を100に設定するSQLクエリは次のとおりです

    alter table sales AUTO_INCREMENT=100

    上記の記事が、MySQLの既存のテーブルに自動インクリメント列を追加するのに役立つことを願っています。

    Ubiqを使用すると、データを簡単に視覚化し、リアルタイムのダッシュボードで監視できます。 Ubiqを無料でお試しください。

    1. TINYTEXT、TEXT、MEDIUMTEXT、およびLONGTEXTの最大ストレージサイズ

    2. oraclesqlスクリプトスプールファイルの作成方法

    3. MySQLで大文字を小文字に変換する方法

    4. クラウドベンダーの詳細:MicrosoftAzure上のPostgreSQL