본문 바로가기
데이터베이스/SQLie3

sqlite3.OperationalError: near "Order": syntax error

by Django_ 2022. 10. 22.
반응형

Python에서 바로 sqlite DB를 사용할 수 있습니다.

하지만 이렇게 연결해서 쓰는경우 아래 와 같은 문법 에러를 만나는 경우가 있습니다.

import sqlite3

con = sqlite3.connect("경로\\test.db", isolation_level=None)
cursor = con.cursor()
sql = "CREATE TABLE Inventory(Date TEXT, Order INTEGER, Comsuption INTEGER, Total INTEGER)" 
cursor.execute(sql)

// 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
sqlite3.OperationalError: near "Order": syntax error

하지만 어떤 문법 에러인지 명확하게 안내 해주지 않기때문에 당황할 수 있습니다.

문법적인 에러라기볼 수 도있고 아닐 수 도있는것 같은데요 SQLite 에서 이미 사용을 위해 선점한 키워드이기때문입니다.

예를들어 python의 경우 def, class, None 등 과같이 이미 언어에서 사용중인 키워드라는 말입니다.

글 작성일 기준 147개의 단어를 사용할 수 없다고 나와있는데요~

더욱 자세하게 궁금하신 분들은 아래 링크를 참조하세요~

 

https://www.sqlite.org/lang_keywords.html

반응형

댓글