如何调试“您的sql语法有错误”

ilmyapht  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(317)

关于这个问题有几个问题 You have an error in your SQL syntax -但它们似乎都解决了查询中的一个特定语法错误,这通常对其他人没有帮助。
我的问题是如何从python中的mysql命令获取格式化查询,以便实际检查它?
所以我有这样一个说法:

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\u exceptions.programmingerror:(1064,“您的sql语法有错误;查看与您的mysql服务器版本对应的手册,了解使用n ear'desc,imgs)值的正确语法(1,'holy stone hs700 fpv drone with 1080p hd camera live vide'at line 1“)
你知道我怎样才能得到执行的查询吗?我不想自己格式化查询,然后在执行之前打印它,而是主要出于安全原因使用mysql的内置格式。

wfypjpf4

wfypjpf41#

DESC 是sql中用于按降序排序的关键字。你不能调用你的参数 "desc" 因为它会被这样解释。想想你是否把你的一列叫做“select”;这是同一个问题。您需要重命名该字段。
起初我专注于 prod.desc 但是在查询字符串中 'desc' 列为实际列名: "... products(acc, title, sku, price, price_checked, desc, imgs)" 您可以在这里看到使用建议运行的最后一个查询,但我无法进行测试,因为我没有任何mysql示例。

相关问题