MySQLでAUTO_INCREMENTの初期値(開始番号)を変更する方法をわかりやすく解説
MySQLのAUTO_INCREMENTとは?
AUTO_INCREMENTは、MySQLのテーブルに新しいレコードを追加する際、指定したカラムの値を自動的に1ずつ増加させるデフォルトのプロパティです。通常は「1」から始まりますが、テーブル作成後でもALTER TABLE文を使えば初期値(開始番号)を自由に変更できます。
この記事では、AUTO_INCREMENTの開始値を変更する具体的な手順を、サンプルコードとともに順番に解説します。
手順1:サンプルテーブルを作成する
まず、AUTO_INCREMENTを設定したテーブルを作成します。idカラムにauto_increment属性を付け、主キーとして定義しています。
mysql> CREATE table DemoAuto -> ( -> id int auto_increment, -> name varchar(100), -> primary key(id) -> ); Query OK, 0 rows affected (0.47 sec)
手順2:ALTER TABLEで開始値を100に変更する
次に、ALTER TABLEコマンドを使用して、AUTO_INCREMENTの開始値を変更します。デフォルトでは1から始まりますが、ここでは100に設定してみましょう。
mysql> alter table DemoAuto auto_increment = 100; Query OK, 0 rows affected (0.24 sec) Records: 0 Duplicates: 0 Warnings: 0
手順3:レコードを挿入して動作を確認する
続いて、テーブルにいくつかのレコードを挿入します。nameカラムだけを指定すれば、idは自動的に採番されます。
mysql> INSERT into DemoAuto(name) values('John');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT into DemoAuto(name) values('Smith');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT into DemoAuto(name) values('Bob');
Query OK, 1 row affected (0.22 sec)
手順4:SELECT文で結果を確認する
挿入したデータをSELECT文で取得し、idがどのように採番されたかを確認します。
mysql> SELECT * from DemoAuto;
実行結果は以下の通りです。
+-----+-------+ | id | name | +-----+-------+ | 100 | John | | 101 | Smith | | 102 | Bob | +-----+-------+ 3 rows in set (0.00 sec)
まとめ
上記の出力結果を見ると、レコードのidが100から始まり、101、102と連番で増加していることがわかります。このように、ALTER TABLE文で「auto_increment = 開始値」と指定するだけで、簡単に初期値を変更できます。
なお、既存データの最大IDより小さい値を設定した場合、その設定は無視され、最大IDの次の番号から採番される点にも注意してください。新規テーブルの場合は、CREATE TABLE文に「AUTO_INCREMENT=100」を直接記述することでも初期値を指定可能です。
-
MySQLルートパスワードをリセットまたは変更する方法【ALTER USERコマンド解説】
MySQLのrootパスワードをリセットまたは変更するには、まず管理者モードでMySQLにログインする必要があります。ログイン後、mysqlデータベースに切り替えて、登録されているすべてのユーザーとホスト情報を確認できます。 1. ユーザー一覧の確認 以下のクエリを実行して、現在存在するユーザーとホストの一覧を表示します。 SELECT user,host FROM user; 実行結果は次のとおりです。 +------------------+-----------+ | user | host | +------------------+------
-
MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方
MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ