[英]Syntax error when creating database SQLite python
這是我的代碼:
conn.execute("""
CREATE TABLE IF NOT EXISTS Blockchain_transactions(
hash_of_previous_block CHAR PRIMARY KEY DEFAULT NULL,
id INTEGER DEFAULT NULL,
transaction CHAR DEFAULT NULL
);""")
它產生語法錯誤
sqlite3.OperationalError: near "transaction": syntax error
備注:這在我的代碼中更早出現,並且不會產生相同的錯誤
conn.execute("""
CREATE TABLE IF NOT EXISTS Blockchain_blocks (
hash_of_previous_block CHAR PRIMARY KEY DEFAULT NULL,
proof_of_work INTEGER DEFAULT NULL,
difficulty INTEGER DEFAULT NULL
);""")
transaction
是sqlite關鍵字 。
將列名更改為其他名稱,它將起作用。
避免為列名保留關鍵字,或像這樣轉義它們:
conn.execute("""
CREATE TABLE IF NOT EXISTS Blockchain_transactions(
hash_of_previous_block CHAR PRIMARY KEY DEFAULT NULL,
id INTEGER DEFAULT NULL,
`transaction` CHAR DEFAULT NULL
);""")
轉義/引用關鍵字的其他可能性可以在鏈接的關鍵字頁面中找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.