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