【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)

最终问题就解决了!

详细的错误图:

相关推荐
鹏多多.17 小时前
flutter-使用fluttertoast制作丰富的高颜值toast
android·前端·flutter·ios
守城小轩17 小时前
Firefox Android 开发环境搭建全流程(四)
android·firefox·chrome devtools·指纹浏览器·浏览器开发
Mr.Entropy17 小时前
请求超过Spring线程池的最大线程(处理逻辑)
数据库·sql·spring
GBASE17 小时前
“G”术时刻:南大通用GBase 8c数据库权限管理场景实践(二)
数据库
袁美丽..17 小时前
Android --- AOSP源码导入Android Studio
android·android studio
LiuYaoheng18 小时前
【Android】View 的基础知识
android·java·笔记·学习
出海小纸条18 小时前
Google Play 应用被拒-数据安全表单无效(设备上的应用)
android
和煦的春风18 小时前
简单讨论下lmkd 查杀机制
android
许泽宇的技术分享18 小时前
Text2Sql.Net架构深度解析:从自然语言到SQL的智能转换之道
sql·架构·.net
Android轮子哥18 小时前
月下载 40 万次的框架是怎么练成的
android