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를 검색할 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>

그러면 last_insert_rowid 함수를 사용하여 user 테이블에 마지막으로 추가된 데이터의 ROWID를 조회하고 SELECT 문에서 WHERE 절에서 사용하고 마지막에 추가된 데이터를 조회하려고 한다.

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>

이렇게 마지막에 추가된 데이터를 조회하는데 사용할 수 있다.




최종 수정 : 2019-11-13