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_exceptions.ProgrammingError:(1064,“您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法以使用n ear 'desc,imgs)值(1,‘神圣之石HS700 FPV无人机,1080 p高清摄像头直播’在第1行‘”)
知道我怎样才能得到执行的查询吗?我不想自己格式化查询,然后在执行之前打印它,而是使用MySQL内置的格式,主要是出于安全考虑。
发布于 2018-12-22 17:49:06
DESC是SQL中用于按降序排序的关键字。您不能调用参数"desc"之一,因为它将被解释为参数。如果您将其中一篇专栏称为“选择”,请考虑一下,这是同一个问题。你需要重命名那个字段。
最初我关注的是prod.desc,但在查询字符串中,'desc'作为实际列名列出:"... products(acc, title, sku, price, price_checked, desc, imgs)"
您可以看到使用通知here运行的最后一个查询,但我无法进行测试,因为我没有任何MySQL实例。
https://stackoverflow.com/questions/53897978
复制相似问题