テーブルに行を追加すると、自動インクリメント列の値が自動的に増加します。この記事では、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を無料でお試しください。