You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sqlite3.OperationalError: near ":59": syntax error 报错原因及解决方案

问题现象

在操作SQLite数据库更新表字段,尝试将表中对应字段的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)}""")
错误原因

SQL语句中字符串类型的取值需要用引号包裹,原代码中直接拼接了trigger_time的时间字符串(例如12:59),SQL解析器会将其中的冒号识别为语法关键字,导致解析到:59时触发语法错误。

修复方案

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

内容的提问来源于stack exchange,提问作者Enigma Beyond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:15:01