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)
上記のクエリから、次の増分値を取得しています。
-
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
-
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