1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

时间:2020-04-13 20:53:06

相关推荐

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

最近在学python爬虫,再写入数据的时候写不进数据库。报了这个很常见的异常

pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank,

多次检查语句,修改数据库格式还是不行,总是报这个错误。最后通过换参数位置突然发现,每次都是rank这里的问题,然后把数据库里的rank变量改名, 代码中的参数也改了,然后就行了。用了这么久数据库突然发现还有这个东西,属实惊呆我了

写入数据库rank变量不能用,需要修改其他名字

原代码

def process_item(self,item,spider):title = item.get('title', '')subject = item.get('subject', '')rank = item.get('rank', 0)self.cursor.execute("insert into movie(rank,subject,title) values (%s,%s,%s)",(rank,subject,title))return item

报错

pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank,subject,

title) values ('8.3','过去的如果就让它过去了,未来只' at line 1")

-08-06 16:08:29 [scrapy.core.scraper] ERROR: Error processing {'rank': '8.7', 'subject': '世界离独裁只有五天。', 'title': '浪潮'}

修改后

def process_item(self,item,spider):title = item.get('title', '')subject = item.get('subject', '')rank = item.get('rank', 0)self.cursor.execute("insert into movie(raning,subject,title) values (%s,%s,%s)",(rank,subject,title))return item

运行成功

完美!!!

目前还不明确知道为什么不能用rank参数

猜测可能是函数或者一些特定名字吧,上网也没有查出所以然来,毕竟是写在sql语句中的。

如有知道为什么不能用rank或者还有其他不能用的名字的朋友,希望不吝赐教!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。