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

MySQLでAUTO_INCREMENTの開始値を手動で指定してテーブルを作成する方法

MySQLでAUTO_INCREMENTの開始値を手動で指定してテーブルを作成する方法

MySQLでは、テーブル作成時にAUTO_INCREMENTオプションを指定することで、連番の開始値を任意の数値に設定できます。これにより、IDを100や1000など、特定の値から採番することが可能になります。

以下の手順で、開始値を100に設定したAUTO_INCREMENTカラムを持つテーブルを作成し、その動作を確認してみましょう。

1. テーブルの作成

まず、AUTO_INCREMENT=100を指定してテーブルを作成します。

mysql> create table DemoTable1907
(
UserId int NOT NULL AUTO_INCREMENT,
UserName varchar(20),
UserAge int,
UserCountryName varchar(20),
PRIMARY KEY(UserId)
)ENGINE=MyISAM,AUTO_INCREMENT=100;
Query OK, 0 rows affected (0.00 sec)

2. レコードの挿入

次に、INSERTコマンドを使ってレコードを挿入します。UserIdは自動的に採番されるため、挿入時に指定する必要はありません。

mysql> insert into DemoTable1907(UserName,UserAge,UserCountryName) values('Chris',26,'US');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1907(UserName,UserAge,UserCountryName) values('David',38,'UK');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1907(UserName,UserAge,UserCountryName) values('John',28,'AUS');
Query OK, 1 row affected (0.00 sec)

3. レコードの確認

SELECT文を実行して、テーブル内の全レコードを表示します。

mysql> select * from DemoTable1907;

実行結果は以下のとおりです。

+--------+----------+---------+-----------------+
| UserId | UserName | UserAge | UserCountryName |
+--------+----------+---------+-----------------+
| 100 | Chris | 26 | US |
| 101 | David | 38 | UK |
| 102 | John | 28 | AUS |
+--------+----------+---------+-----------------+
3 rows in set (0.00 sec)

解説

出力結果を見ると、最初のレコードのUserIdが「100」から始まっていることがわかります。これは、テーブル作成時にAUTO_INCREMENT=100を指定したためです。以降のレコードには、101、102と順に番号が自動的に割り当てられます。

なお、すでに存在するテーブルの開始値を後から変更したい場合は、ALTER TABLE テーブル名 AUTO_INCREMENT = 開始値;を実行します。この際、指定する値は現在の最大ID値より大きい必要がある点に注意してください。

  1. 「order」というテーブル名でMySQLクエリエラーが発生する原因と解決方法

    「order」は予約語であることに注意MySQLでは「order」は予約語(ORDER BY句などで使用されるキーワード)として登録されています。そのため、予約語をそのままテーブル名として使用しようとすると、構文エラーが発生します。予約語をテーブル名やカラム名として使いたい場合は、バッククォート(`)で囲む必要があります。テーブルの作成まず、バッククォートで「order」というテーブルを作成してみましょう。mysql> create table `order` -> ( -> StudentId int -> ); Query OK, 0 row

  2. MySQLでインデックス付きのテーブルを作成する方法を徹底解説

    MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp