-1
這個簡單的問題讓我難堪,雖然我期望它的一個簡單的修復,但我一直無法找到必要的改變。SQLite - 錯誤「sqlite3.OperationalError:near」,「:語法錯誤」
我想要完成的是構建一個簡單的數據庫表,其中包含來自weatherundergroud的昨天降水。我能夠解析必要的json數據,但是當我嘗試向數據庫條目添加時間戳記時,我無法填充數據庫。我可以將這個語法與一個變量一起使用,但是相關的數據庫變化除了時間戳之外並不包含2個變量。下面是代碼的簡化版本:
conn = sqlite3.connect('precip.sqlite3')
curs = conn.cursor()
curs.execute('''
CREATE TABLE IF NOT EXISTS Precip
(timestamp DATETIME, date TEXT, precip TEXT)''')
date = js["history"]["date"]["pretty"]
precip = js["history"]["dailysummary"][0]["precipm"]
print "date:", date, "precipitation", precip, "mm"
curs.execute("INSERT INTO Precip values(datetime('now'),(?, ?))",(date, precip,))
conn.commit()
它失敗,此錯誤: curs.execute( 「INSERT INTO雨值(日期時間( '現在'),(?))?」,(日,雨,)) sqlite3.OperationalError:近 「」:語法錯誤
'INSERT INTO雨值(?DATETIME( '現在'),)「'更有意義,我 – Evert
感謝!解決了它,但我不知道爲什麼額外支架分組會導致錯誤 – Jake
我假設圓括號將它們中的兩個條目分組到一個條目中,因此您只將兩個條目插入表中,第二個是複合材料。 – Evert