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