[英]OperationalError: near “:1”: syntax error in SQLite
我有這個錯誤。
執行聯接和聯合后,我的表列名稱如下所示:
['A','B','C','B:1','D','B:2','E']
為了刪除/重命名Table列,我執行了以下查詢:
query = '''
CREATE TABLE New_Table
['A','B_a','C','B_b','D','B_c','E']
'''
query1 = '''
INSERT INTO New_Table
('A','B_a','C','B_b','D','B_c','E')
SELECT A, B, C, B:1, D, B:2, E
FROM Table
'''
import sqlite3
conn = sqlite3.connect('dbase_Sqlite') # create or open db file
curs = conn.cursor()
curs.execute(query)
conn.commit()
curs.execute(query1)
conn.commit()
我收到此錯誤:
OperationalError: near ":1": syntax error
顯然,sqlite JOIN或UNION早先添加了“:1”和“:2”。 我應該如何處理?
我在這里找到了答案,通過在查詢中為所有列名加上“”來轉義列名。 有用。
query1 = '''
INSERT INTO New_Table
('A','B_a','C','B_b','D','B_c','E')
SELECT "A", "B", "C", "B:1", "D", "B:2", "E"
FROM Table
'''
參考: https : //blog.christosoft.de/2012/10/sqlite-escaping-table-acolumn-names/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.