개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.07 05:00

SQLite3::lastInsertRowID에 대한 이해가 필요한가요?

목록
  • ReactNative장인 2일 전 2025.04.07 05:00
  • 2
    1
저는 SQLite3::lastInsertRowID를 사용하여 새로 삽입된 행의 ID를 얻는 방법이 궁금합니다.
하지만, 행이 여러개 삽입되었을 때, 어떤 ID를 얻을 수 있는지 모르겠습니다.
예를 들어, 다음 코드를 보겠습니다.
ruby

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


이 코드에서는 두 개의 행이 삽입되었을 때, `last_insert_row_id` 메서드는 어떤 ID를 반환할까요?
혹시 이 메서드를 사용할 때 주의해야 할 점이 있는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    SQLite3::lastInsertRowID는 마지막으로 삽입된 행의 ID를 반환합니다.

    만약 여러 행이 삽입되었다면, 마지막으로 삽입된 행의 ID를 반환합니다.

    예를 들어, 위 코드에서 두 개의 행이 삽입되었다면, `last_insert_row_id` 메서드는 두 번째 삽입된 행의 ID를 반환할 것입니다.

    이 메서드를 사용할 때 주의해야 할 점은, 이 메서드는 마지막으로 삽입된 행의 ID를 반환하기 때문에, 여러 행이 삽입된 경우에만 사용해야 합니다.

    또한, 이 메서드는 한 번에 하나의 행만 삽입할 때 사용하는 것이 좋습니다.

    다중 행 삽입 시, `last_insert_row_id` 메서드는 마지막으로 삽입된 행의 ID를 반환하기 때문에, 여러 행이 삽입된 경우에만 사용해야 합니다.

    예를 들어, 다음 코드를 보겠습니다.

    ruby
    
    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
    
    


    이 코드에서는 두 개의 행이 삽입되었을 때, `last_insert_row_id` 메서드는 두 번째 삽입된 행의 ID를 반환할 것입니다.

    다음과 같이 다중 행 삽입 시, `last_insert_row_id` 메서드를 사용할 수 있습니다.

    ruby
    
    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"), ("Jane")')
    
    puts db.last_insert_row_id
    
    


    이 코드에서는 두 개의 행이 삽입되었을 때, `last_insert_row_id` 메서드는 두 번째 삽입된 행의 ID를 반환할 것입니다.

    이러한 예시를 통해, SQLite3::lastInsertRowID 메서드를 사용할 때 주의해야 할 점을 이해할 수 있습니다.

    2025-04-07 05:01

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 10,039건 / 11 페이지

검색

게시물 검색