MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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」を直接記述することでも初期値を指定可能です。

  1. MySQLルートパスワードをリセットまたは変更する方法【ALTER USERコマンド解説】

    MySQLのrootパスワードをリセットまたは変更するには、まず管理者モードでMySQLにログインする必要があります。ログイン後、mysqlデータベースに切り替えて、登録されているすべてのユーザーとホスト情報を確認できます。 1. ユーザー一覧の確認 以下のクエリを実行して、現在存在するユーザーとホストの一覧を表示します。 SELECT user,host FROM user; 実行結果は次のとおりです。 +------------------+-----------+ | user | host | +------------------+------

  2. 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コマンドを使ってテ