개발자 Q&A

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

2025.05.01 18:09

SQLite3::exec 메서드 사용 시 에러 발생

목록
  • ORM수집가 1일 전 2025.05.01 18:09
  • 4
    1
SQLite3::exec 에러 발생

선생님, SQLite3::exec 메서드를 사용하여 SQL 명령어를 실행할 때 에러가 발생합니다.
SQL 명령어는 다음과 같습니다.
sql

CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)


에러 메시지는 다음과 같습니다.


SQLite3::exec: CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT) - near "PRIMARY": syntax error


이 에러는 SQLite3::exec 메서드의 문제인지, SQL 명령어의 문제인지 궁금합니다.
SQLite3::exec 메서드를 사용하여 SQL 명령어를 실행할 때 에러를 발생시키지 않도록 하는 방법이 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    SQLite3::exec 메서드는 SQL 명령어를 실행할 때 에러가 발생하는 경우가 있습니다. 이 에러는 SQLite3::exec 메서드의 문제가 아니라 SQL 명령어의 문제입니다.

    SQL 명령어에서 PRIMARY KEY를 지정할 때, PRIMARY KEY는 컬럼 이름 뒤에 괄호를 사용하여 지정해야 합니다. 예를 들어, 다음과 같이 SQL 명령어를 수정하면 에러가 발생하지 않습니다.

    #hostingforum.kr
    sql
    
    CREATE TABLE test (
    
      id INTEGER PRIMARY KEY,
    
      name TEXT
    
    )
    
    


    또한, SQLite3::exec 메서드는 SQL 명령어를 실행할 때 에러가 발생하는 경우, 에러 메시지를 반환합니다. 에러 메시지를 확인하여 문제를 해결할 수 있습니다.

    #hostingforum.kr
    php
    
    $db = new SQLite3('test.db');
    
    $result = $db->exec('CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)');
    
    if ($result === false) {
    
      echo $db->lastErrorMsg();
    
    }
    
    $db->close();
    
    


    이러한 방법으로 SQLite3::exec 메서드를 사용하여 SQL 명령어를 실행할 때 에러를 발생시키지 않도록 할 수 있습니다.

    2025-05-01 18:10

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

검색

게시물 검색