
SQLite3::lastInsertRowID는 SQLite3::Database 인스턴스에 속하는 메소드입니다. 이 메소드는 마지막으로 실행된 INSERT, REPLACE, 또는 UPDATE SQL 문에 의해 영향을 받은 행의 ROWID를 반환합니다.
이 메소드는 여러 행이 삽입되는 경우에도 사용할 수 있습니다. 예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
ruby
require 'sqlite3'
db = SQLite3::Database.new('example.db')
db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
db.execute("INSERT INTO users (name) VALUES ('John')")
db.execute("INSERT INTO users (name) VALUES ('Jane')")
puts db.last_insert_row_id
이 코드는 마지막으로 삽입된 행의 ID를 반환합니다.
SQLite3::lastInsertRowID를 사용하는 경우는 다음과 같습니다.
- 마지막으로 삽입된 행의 ID를 얻을 때
- 여러 행이 삽입되는 경우에 마지막으로 삽입된 행의 ID를 얻을 때
- REPLACE 또는 UPDATE SQL 문에 의해 영향을 받은 행의 ROWID를 얻을 때
반면, SQLite3::lastInsertRowID를 사용하지 않는 경우는 다음과 같습니다.
- 여러 행이 삽입되는 경우에 각 행의 ID를 얻을 때 (이 경우, 여러 ROWID를 얻을 수 있습니다)
- REPLACE 또는 UPDATE SQL 문에 의해 영향을 받은 행의 ROWID를 얻을 때 (이 경우, 여러 ROWID를 얻을 수 있습니다)
따라서, SQLite3::lastInsertRowID를 사용하는 경우는 마지막으로 삽입된 행의 ID를 얻을 때 또는 여러 행이 삽입되는 경우에 마지막으로 삽입된 행의 ID를 얻을 때입니다.
2025-07-23 16:28