我是scrapy,python和mysql的新手,请原谅我,如果这很简单的话。我相信我有一个语法问题,但我还不知道还没有解决它。我得到“错误1241:操作数应该包含1个列”当我尝试使用此管道时,没有任何内容传递给数据库。
def __init__(self):
self.conn = MySQLdb.connect(user='user', passwd='pass', db='db', host='host', charset='utf8', use_unicode=True)
self.cursor = self.conn.cursor()
def process_item(self, item, spider):
try:
self.cursor.execute("""INSERT INTO table (1, 2, 3, 4) VALUES (%s, %s, %s, %s)""", (item['1'], item['2'], item['3'], item['4']))
self.conn.commit()
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
return item
答案 0 :(得分:0)
试试这个:
self.cursor.execute("""INSERT INTO `table` (`1`, `2`, `3`, `4`) VALUES (%s, %s, %s, %s)""", (item['1'], item['2'], item['3'], item['4']))
答案 1 :(得分:0)
此行仍然不会将任何内容放入数据库1只是单词链接,它将成为视频的网址。
self.cursor.execute("""INSERT INTO `table` (`1`, `2`, `3`, `4`) VALUES (%s, %s, %s, %s)""", (item['1'], item['2'], item['3'], item['4']))