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

MySQLのテーブルの現在のAUTO_INCREMENT値を取得するにはどうすればよいですか?


現在のauto_increment値を知るには、last_insert_id()関数を使用できます。まず、INSERTコマンドを使用してテーブルを作成します。

テーブルの作成-

mysql> CREATE table AutoIncrement
-> (
-> IdAuto int auto_increment,
-> primary key(IdAuto)
-> );
Query OK, 0 rows affected (0.59 sec)

テーブルを作成した後、INSERTコマンドを使用してレコードを挿入します。レコードの挿入-

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.48 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.09 sec)

ここで、SELECTコマンドを使用してテーブルに挿入したレコードの数を確認します。

すべてのレコードを表示する-

mysql> SELECT * from AutoIncrement;
+--------+
| IdAuto |
+--------+
| 1      |
| 2      |
| 3      |
| 4      |
+--------+
4 rows in set (0.00 sec)

したがって、最後の自動増分は4です。これは、現在の値が挿入されたことを知るためのクエリです。これは4です。

mysql> SELECT last_insert_id();

以下は出力です-

+------------------+
| last_insert_id() |
+------------------+
| 4                |
+------------------+
1 row in set (0.00 sec)

これは、次の自動増分値を通知するクエリです。構文は次のとおりです-

SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourDatabaseName'
AND TABLE_NAME = 'yourTableName';

今、私は上記のクエリを適用しています-

mysql> SELECT `AUTO_INCREMENT`
-> FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = 'business'
-> AND TABLE_NAME = 'AutoIncrement';

以下は出力です-

+----------------------------+
| AUTO_INCREMENT             |
+----------------------------+
| 5                          |
+----------------------------+
1 row in set (0.13 sec)

上記のクエリから、次の増分値を取得しています。


  1. MySQLクエリでNULLに対応する値を取得するにはどうすればよいですか?

    これには、ISNULLプロパティを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    EmployeeName varchar(100),    EmployeeAge int ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris',32); Query OK, 1 row affect

  2. MySQLクエリを使用して4番目に高い値を取得するにはどうすればよいですか?

    4番目に高い値を取得するには、ORDERBYとともにLIMITOFFSETを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    Amount int ); Query OK, 0 rows affected (0.88 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(980); Query OK, 1 row affected (0.15 sec) mysql> insert into Dem