簡體   English   中英

sqlite3.OperationalError:接近“:59”:語法錯誤

[英]sqlite3.OperationalError: near ":59": syntax error

我正在嘗試更新我的數據庫。 我想在運行時將 None 更改為時間

sqlite3.OperationalError: near ":59": syntax error

我要更新的代碼是:

    now = datetime.now()
    trigger_time = str(now.strftime("%H:%M"))
    db.execute(f"""Update Signals set Triger_Time = {trigger_time} where ID = {int(signal_id)}""")

由( https://stackoverflow.com/a/69661333/16613629 )解決

答案:您忘記了 Triger_Time 周圍的引號:

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute(f"""Update Signals set Triger_Time = '{trigger_time}' where ID = {int(signal_id)}""")

你忘記了 Triger_Time 周圍的引號:

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute(f"""Update Signals set Triger_Time = '{trigger_time}' where ID = {int(signal_id)}""")

盡管添加引號的公認答案將解決您的直接問題,但通常首選使用參數化查詢而不是字符串格式來構建 SQL 代碼。

now = datetime.now()
trigger_time = str(now.strftime("%H:%M"))
db.execute("Update Signals set Triger_Time = ? where ID = ?", [trigger_time, int(signal_id)])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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