
SQLite3::lastInsertRowID 메서드는 마지막으로 삽입된 행의 ID를 반환합니다. 그러나 이 메서드의 반환값이 NULL이 되는 경우는 두 가지 이유가 있습니다.
첫 번째 이유는, SQLite3::lastInsertRowID 메서드는 현재 커넥션에 대한 마지막으로 삽입된 행의 ID를 반환합니다. 만약, 다른 커넥션에서 데이터를 삽입한 경우, SQLite3::lastInsertRowID 메서드는 NULL을 반환합니다. 따라서, 데이터를 삽입한 커넥션을 사용하여 SQLite3::lastInsertRowID 메서드를 호출해야 합니다.
두 번째 이유는, SQLite3::lastInsertRowID 메서드는 ROWID를 반환합니다. ROWID는 SQLite에서 각 행에 할당되는 고유한 ID입니다. 그러나 ROWID는 AUTOINCREMENT 열에만 할당됩니다. 만약, AUTOINCREMENT 열이 아닌 열에 데이터를 삽입한 경우, SQLite3::lastInsertRowID 메서드는 NULL을 반환합니다. 따라서, AUTOINCREMENT 열에 데이터를 삽입한 경우에만 SQLite3::lastInsertRowID 메서드를 사용해야 합니다.
2025-08-09 23:17