最後に追加されたデータのROWIDを取得(last_insert_rowid関数)

last_insert_rowid 関数を使うとテーブルに最後に追加されたデータの ROWID を取得することができます。ここでは SQLite における last_insert_rowid 関数の使い方について解説します。

(Last modified: )

last_insert_rowid関数の使い方

last_insert_rowid 関数は最後に追加した行の ROWID を取得するために使用します。書式は次の通りです。

last_insert_rowid()

ROWID については「ROWIDの参照とINTEGER PRIMARY KEYとの関係」を参照して下さい。テーブルに追加されたデータに自動で設定されるユニークな値です。最後に追加されたデータの ROWID を取得できると、 WHERE 句を使い最後に追加されたデータから情報を取得する時などに利用できます。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table staff(id integer, name text);

last_insert_rowid関数の使い方(1)

INSERT 文を使って次のようなデータを格納してあります。

insert into staff values(1, 'Honda');
insert into staff values(2, 'Suzuki');
insert into staff values(3, 'Maeda');

last_insert_rowid関数の使い方(2)

それでは last_insert_rowid 関数を使って staff テーブルに最後に追加されたデータの ROWID を取得し、 SELECT 文の中の WHERE 句で利用して最後に追加されたデータを取得してみます。

select * from staff where rowid = last_insert_rowid();

last_insert_rowid関数の使い方(3)

このように最後に追加されたデータを取得する場合に利用することができます。

-- --

last_insert_rowid 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。