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

MySQLの自動インクリメント値の現在のカウントを変更しますか?


ALTERコマンドを使用して、MySQLのauto_incrementの現在のカウントを変更できます。

構文は次のとおりです-

ALTER TABLE yourTableName AUTO_INCREMENT = IntegerValue;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table changeCurrentAutoIncrementValue
   −> (
   −> CurrentCount int auto_increment,
   −> PRIMARY KEY(CurrentCount)
   −> );
Query OK, 0 rows affected (0.60 sec)

selectステートメントを使用してテーブルにレコードを挿入します。 auto_incrementは、デフォルトで1から始まり、1ずつ増加します。レコードを挿入するためのクエリは次のとおりです-

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.20 sec)

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.15 sec)

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.11 sec)

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.12 sec)

Display all records to check from where the value starts. The query is as follows:

mysql> select *from changeCurrentAutoIncrementValue;

出力は次のとおりです。

+--------------+
| CurrentCount |
+--------------+
|            1 |
|            2 |
|            3 |
|            4 |
+--------------+
4 rows in set (0.00 sec)

上記のサンプル出力を見ると、auto_incrementは1から始まり、次の数値は前の数値の1を加算して生成されています。

これは、現在のauto_increment値を変更するためのクエリです。クエリは次のとおりです-

mysql> alter table changeCurrentAutoIncrementValue auto_increment = 300;
Query OK, 0 rows affected (0.27 sec)
Records: 0 Duplicates: 0 Warnings: 0

上記のクエリを見てください。 auto_increment値を変更しました。現在は300から始まります。新しい値は、上記の値の後に、つまり4の後に追加されます。

ここで、テーブルにレコードをもう一度挿入してみましょう。クエリは次のとおりです-

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.15 sec)

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.17 sec)

mysql> insert into changeCurrentAutoIncrementValue values();
Query OK, 1 row affected (0.15 sec)

テーブルのレコードを表示して確認します。クエリは次のとおりです-

mysql> select *from changeCurrentAutoIncrementValue;

以下は出力です-

+--------------+
| CurrentCount |
+--------------+
|            1 |
|            2 |
|            3 |
|            4 |
|          300 |
|          301 |
|          302 |
+--------------+
7 rows in set (0.00 sec)

上記のサンプル出力を見てください。auto_increment値を変更した後の値は300から始まります


  1. MySQLクエリで日付/時刻の値を秒単位でインクリメントしますか?

    これには、intervalコマンドでdate_add()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1867      (      ArrivalTime datetime      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1867 values('2019-1

  2. 最大累積値をフェッチするMySQLクエリ

    このためには、サブクエリとともに集計関数COUNT(*)を使用します。 GROUPBYも使用されます。 テーブルを作成しましょう- mysql> create table demo23 −> ( −> id int not null auto_increment primary key, −> value1 int, −> value2 int −> ); Query OK, 0 rows affected (1.65 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します