【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?

我在使用python连接sql修改表格的时间字段的时候,遇到这样一个问题:

ProgrammingError: (pymysql.err.ProgrammingError) (1064 , "You have an

error in your SQL syntax; check the manual that corresponds to your

MariaDB server version for the right syntax to use near

'14:41:32.713604 WHERE table_id ='1'' at line 1")

SQL: UPDATE jd_shop_comparison1_new SET create_time =2025-07-09 14:41:32.713604 WHERE table_id ='1' \] (Background on this error at: https://sqlalche.me/e/14/f405)

原代码:

python 复制代码
UPDATE_SQL = f"UPDATE table_name SET create_time ={create_time} WHERE table_id ='{table_id}' " #修改时间
engine.execute(UPDATE_SQL)

这个错误是由于 SQL 语句中的日期时间值没有正确使用引号引起的。

在我的 UPDATE 语句中,日期时间值 create_time 没有被引号包围,导致 MariaDB 无法正确解析这个值。

解决方法:

使用字符串引号包围括号里的字符,包括日期、时间、文本等

例如:

c 复制代码
UPDATE_SQL = f"UPDATE jd_shop_comparison1_new SET create_time = '{create_time}' WHERE table_id ='{table_id}' " #修改时间
engine.execute(UPDATE_SQL)

最终问题就解决了!

详细的错误图:

相关推荐
heartbeat..16 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
麦聪聊数据18 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
&岁月不待人&19 小时前
⏺ Android 录屏缩放异常排查:Pixel 3 XL 上的完美风暴
android
a31582380619 小时前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
tangweiguo0305198719 小时前
从零开始:在 Windows 上使用命令行编译 Android .so 动态库(NDK + CMake + Ninja)
android
AC赳赳老秦19 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
阿波罗尼亚19 小时前
Tcp SSE Utils
android·java·tcp/ip
YMatrix 官方技术社区20 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
辞砚技术录21 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
linweidong21 小时前
C++thread pool(线程池)设计应关注哪些扩展性问题?
java·数据库·c++