SQLite | SQLite関数 | 最後に追加したデータのROWIDを返す(last_insert_rowid関数)
last_insert_rowid関数を使用すると、テーブルに最後に追加したデータのROWIDを取得できます。ここでは、last_insert_rowid関数の使い方について説明します。
last_insert_rowid関数の使い方
last_insert_rowid関数は、最後に追加した行のROWIDを取得するために使用します。構文は次のとおりです。
last_insert_rowid()
ROWIDについては、ROWIDの参照とINTEGER PRIMARY KEYとの関係を参照してください。ROWIDは、テーブルに追加したデータに自動的に設定される特別な値です。最後に追加したデータのROWIDをWHERE句で使用すると、その行の情報を取得できます。
–
実際に試してみましょう。まず、次のテーブルを作成します。
create table user (id integer, name text);
sqlite> create table user (id integer, name text);
sqlite>
INSERT文を使用して次のデータを追加します。
insert into user values (1, 'devkuma');
insert into user values (2, 'kimkc');
insert into user values (3, 'araikuma');
sqlite> insert into user values (1, 'devkuma');
sqlite> insert into user values (2, 'kimkc');
sqlite> insert into user values (3, 'araikuma');
sqlite>
SELECT文のWHERE句でlast_insert_rowid関数を使用し、userテーブルに最後に追加した行を取得します。
select * from user where rowid = last_insert_rowid();
sqlite> .mode column
sqlite> .header on
sqlite>
sqlite> select * from user where rowid = last_insert_rowid();
id name
---------- ----------
3 araikuma
sqlite>
このように、最後に追加したデータを取得するために使用できます。