SQLite3.操作错误:接近 ":59":语法错误



我想更新我的数据库。我想把None改成time,当我运行它的时候

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)}""")

SOLVED BY (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)])

最新更新