那么為什么這樣做:
sql="""UPDATE """ stream """_pointer SET id = """ str(message.id) """; insert into """ stream """ VALUES (""" str(message.id) """,'""" safemessage """','pending')"""
cursor.execute(sql)
但是對于完全相同的變數,這不會:
sql="UPDATE ?_pointer SET id = ?; insert into ? VALUES (?,?,?)"
cursor.execute(sql,(stream,message.id,stream,message.id,safemessage,'pending'))
我收到的第二條有用的錯誤訊息是:
---> 31 cursor.execute(sql,(streampointer,message.id,stream,message.id,safemessage,'pending'))
SQLError: SQLError: near "?": syntax error
使用增強回溯不會提供更多線索:
File "/tmp/ipykernel_20009/643992601.py", line 31, in <module>
cursor.execute(sql,(streampointer,message.id,stream,message.id,safemessage,'pending'))
apsw.SQLError: SQLError: near "?": syntax error
我在 chromebook 上使用 jupyter notebook lab
uj5u.com熱心網友回復:
來自sqlite 檔案
SQLite 允許在任何允許字串文字、數字常量或 NULL 的地方使用引數。(引數不能用于列名或表名。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336555.html
