MySQLで次に使用されるAUTO_INCREMENTの値を確認する方法
MySQLで次のAUTO_INCREMENT値を確認することはできますか?
はい、可能です。INFORMATION_SCHEMA.TABLES テーブルに対して SELECT AUTO_INCREMENT を実行することで、次に使用されるauto_incrementの値を簡単に取得できます。基本構文は以下の通りです。
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA= yourDatabaseName AND TABLE_NAME=yourTableName;
手順1:テーブルを作成する
まず、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20), ClientAge int ); Query OK, 0 rows affected (1.33 sec)
手順2:INSERTコマンドでレコードを追加する
続いて、INSERTコマンドを使用してテーブルに複数のレコードを挿入します。
mysql> insert into DemoTable(ClientName,ClientAge) values('John',23);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Carol',21);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Bob',24);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('David',25);
Query OK, 1 row affected (0.25 sec)手順3:挿入されたレコードを確認する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行すると、以下のような結果が得られます。
+----------+------------+-----------+ | ClientId | ClientName | ClientAge | +----------+------------+-----------+ | 1 | John | 23 | | 2 | Carol | 21 | | 3 | Bob | 24 | | 4 | David | 25 | +----------+------------+-----------+ 4 rows in set (0.00 sec)
次のAUTO_INCREMENT値を取得するクエリ
上記のテーブルで次に使用されるauto_incrementの値を調べるには、以下のクエリを実行します。
mysql> SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA= 'sample' AND TABLE_NAME='DemoTable';
実行結果は以下の通りです。
+----------------+ | AUTO_INCREMENT | +----------------+ | 5 | +----------------+ 1 row in set (0.20 sec)
この結果から、次にINSERTされるレコードには ClientId = 5 が自動的に割り当てられることがわかります。なお、AUTO_INCREMENT の値は削除されたレコードやトランザクションのロールバックによって連番が欠ける場合があるため、あくまで「次に発行される予定の値」である点に注意してください。
-
Pythonで倉庫(godown)に入れられる箱の数を求めるプログラム
2つの整数型の配列があるとします。片方のリストには単位幅の箱の高さが、もう片方の配列には倉庫(godown)内の各部屋の高さが格納されています。部屋には0からnまでの番号が付いており、それぞれの高さは配列godownの対応するインデックスで与えられます。ここで、倉庫に押し込むことのできる箱の数を求めます。ただし、以下の条件に注意が必要です。 箱を積み重ねることはできません。 箱の並び順は自由に入れ替えて構いません。 箱は倉庫の左側または右側のどちらからでも挿入できます。ある箱が部屋の高さより高い場合、その箱と、それより右側にあるすべての箱は倉庫に入れることができません。 たとえば、入力がb
-
Pythonでk×k部分行列の最小値を求めるプログラム【スライディングウィンドウ法】
問題の概要2次元の行列と整数 k が与えられたとき、すべての k × k 部分行列に含まれる最小値を要素とする新しい行列を返すプログラムを考えます。たとえば、次のような入力が与えられたとします。3568654312ここで k = 2 とした場合、出力は [[3, 5], [3, 3]] になります。この結果は、各2×2の部分行列ごとの最小値を表しています。具体的には次の通りです。左上の部分行列:最小値は 33 5 8 6右上の部分行列:最小値は 55 6 6 5左下の部分行列:最小値は 38 6 4 3右下の部分行列:最小値は 36 5 3 12解き方のアプローチこの問題は、スライディングウィ