mysql1054错误——(1054, "Unknown column 'xxx' in 'field list'")

在使用scrapy框架连接数据库时遇到了1054错误
具体代码如下:

 try:
      self.cursor.execute('insert into qiubai(author,content) values(%s,%s)'%(item['author'],item['content']))
      self.conn.commit()
  except Exception as e:
      print(e)
      self.conn.rollback()
  return item

然后报错:

(1054, "Unknown column 'dfsgsfdbsd' in 'field list'")
(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 ')' at line 1")

sql语句错误,经过网上查找
修改sql语句为:

self.cursor.execute('insert into qiubai(author,content) values("%s","%s")'%(item['author'],item['content']))

self.cursor.execute("insert into qiubai(author,content) values('%s','%s')"%(item['author'],item['content']))

就执行成功了。

我初学pysql时的代码:

item ={
            'username':'110',
            'sex':'110',
            'password':'110',
            'pid':'110',
            'tel':'110'
        }
cursor.execute('insert into user(username,sex,password,pid,tel) values (%s,%s,%s,%s,%s)'%(item['username'],item['sex'],item['password'],item['pid'],item['tel']))

是可以执行的。

最后发现,初学时的数据是我自定义的,但是scrapy爬取到的数据前后有些是有空格的,所以导致报错。

所以以后在编写sql语句时尽量规范,该加引号加引号

发布了27 篇原创文章 · 获赞 9 · 访问量 1951

猜你喜欢

转载自blog.csdn.net/HAH_HAH/article/details/104170593