簡體   English   中英

OperationalError:“:1”附近:SQLite中的語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM