【问题标题】:Mysql 1241 operand should contain 1 column smysql 1241 操作数应该包含 1 列
【发布时间】:2014-03-22 03:32:28
【问题描述】:

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

这个查询有什么错误吗?

【问题讨论】:

  • 您能在执行发生之前显示item 的值吗?另外,请提供describe af_appinfo的结果。
  • @alecxe 我已经修改了问题。
  • 我的意思是在错误发生之前item是多少?

标签: python mysql


【解决方案1】:

您是否在 cmdline 上打印了从 scapy 获得的输出?因为它 当您的代码/数据库只期望时,听起来您想放入多列数据 单列。你能发布你从 scapy 获得的输出吗? 数据库?

亲切的问候,

德克

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2013-11-20
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多