在此處和Web上進行了長時間的搜索,似乎找不到任何示例說明我爲什麼會在以下語言中遇到語法錯誤: import win32com.clientINSERT INTO SELECT語法錯誤與Microsoft Access的Python ODBC
`
PregCode = recordsetraw.Fields.Item("PregnancyCode").value
SQL = "INSERT INTO UniqueData SELECT * FROM Rawdata WHERE PregnancyCode =%s"
params = (PregCode)
connection.execute(SQL, params)
print PregCode
recordsetraw.MoveNext()`
,我發現了以下錯誤:
回溯(最近通話最後一個): 文件 「testdb.py」 22行,在 connection.execute(SQL,則params) 文件「 「,第2行,執行 pywintypes.com_error:(-214 7352567,'Exception occurred。',(0,u'Microsoft JET D atabase Engine',u「查詢表達式中的語法錯誤'PregnancyCode =%s'。」,無 ,5003000,-2147217900),無)
我已經嘗試在懷孕代碼中進行硬編碼,看看是否會有所作爲,但沒有,同樣的錯誤。
任何想法我做錯了什麼?
execute()的第二個參數需要是一個序列。正如所寫,它是一個單一的價值。改用'(PregCode,)';注意尾隨逗號。逗號使它成爲一個元組。 – bernie