Mysql 1241操作数应包含1列s

时间:2014-03-22 03:32:28

标签: python mysql

我正在使用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']))

项目的定义是:

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)

有关此查询的任何错误?

2 个答案:

答案 0 :(得分:0)

你是否在cmdline上打印了scapy的输出?因为它 听起来你想要在你的代码/ db只期望的时候放入多列数据 一列。你可以发布你想要传入的scapy得到的输出 数据库?

亲切的问候,

德克

答案 1 :(得分:-2)

关于数据类型的错误。匹配表中每列与其对应项之间的类型。