Mysql 1241 操作数应包含 1 列
我正在使用scrapy这个工具来抓取信息,并把它存储到mysql数据库里。
相关的代码如下:
def _conditional_insert(self, tx, item):
if item.get('app_name'):
tx.execute("""
insert into af_appinfo (app_name, app_size, app_data_install, app_icon_url, app_download_url, app_desc)
values (%s, %s, %s, %s, %s, %s)""",
(item['app_name'], item['app_size'], item['app_data_install'], item['icon_url'],item['app_url'], item['app_desc']))
这里是item的定义:
from scrapy.item import Item, Field
class WdjcrawlItem(Item):
icon_url = Field()
app_url = Field()
app_name = Field()
app_desc = Field()
app_size = Field()
app_data_install = Field()
这个爬虫运行得很好。但是在使用mysql的时候出现了一个异常。异常信息是:
_mysql_exceptions.OperationalError: (1241, 'Operand should contain 1 columns)
这个查询有什么错误吗?
1 个回答
0
你有没有把从scapy得到的输出打印出来?因为听起来你想要输入多列的数据,但你的代码或数据库只期待一列数据。你能把你想要放入数据库的scapy输出发出来吗?
祝好,
Dirk