首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试“SQL语法中有错误”

如何调试“SQL语法中有错误”
EN

Stack Overflow用户
提问于 2018-12-22 17:42:13
回答 1查看 347关注 0票数 0

You have an error in your SQL syntax上有几个问题--但它们似乎都解决了查询中的一个特定语法错误,这通常对其他查询没有帮助。

我的问题是如何从Python中的MySQL命令获得格式化的查询,以便我能够实际地检查它?

所以我有个说法:

代码语言:javascript
复制
cursor.execute("INSERT INTO products(acc, title, sku, price, price_checked, desc, imgs) VALUES (%s,%s,%s,%s,%s,%s,%s)", (1, prod.title, prod.sku, prod.price, datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), prod.desc, prod.imgs))

错误是:

_mysql_exceptions.ProgrammingError:(1064,“您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法以使用n ear 'desc,imgs)值(1,‘神圣之石HS700 FPV无人机,1080 p高清摄像头直播’在第1行‘”)

知道我怎样才能得到执行的查询吗?我不想自己格式化查询,然后在执行之前打印它,而是使用MySQL内置的格式,主要是出于安全考虑。

EN

回答 1

Stack Overflow用户

发布于 2018-12-22 17:49:06

DESC是SQL中用于按降序排序的关键字。您不能调用参数"desc"之一,因为它将被解释为参数。如果您将其中一篇专栏称为“选择”,请考虑一下,这是同一个问题。你需要重命名那个字段。

最初我关注的是prod.desc,但在查询字符串中,'desc'作为实际列名列出:"... products(acc, title, sku, price, price_checked, desc, imgs)"

您可以看到使用通知here运行的最后一个查询,但我无法进行测试,因为我没有任何MySQL实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53897978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档