【问题标题】:What is the MySql Update equivalent of this?MySql 更新相当于什么?
【发布时间】:2015-03-28 08:02:12
【问题描述】:

MySql UPDATE 相当于什么?

INSERT INTO items (title, url) VALUES (%s, %s)", (listtitle[0], listlink[0])) 

【问题讨论】:

  • 嗯...为什么你认为UPDATE 可以等同于INSERT?真的不清楚你的问题是什么......
  • 当一个 INSERT 时,它会创建一个新行,但是对于 UPDATE,它会编辑现有行
  • 但它不是等价的——它是完全不同的命令,用于不同的用途。至少,对于update,您应该提供一些标准来选择要更新的记录——不仅仅是新值。
  • 啊,但我认为该消息已被传达,人们可以理解,但我确实明白你的观点或不同的用法。

标签: python mysql list insert sql-update


【解决方案1】:

试试这个:

"UPDATE items SET title = %s, url= %s" % listtitle[0], listlink[0]

【讨论】:

  • 最初是这样做的,但是会导致错误mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'Yii2' in 'field list' Yii2 = a item in list
【解决方案2】:
"update items
    set title = '{0}',
        url = '{1}'
  where COLUMN = VALUE
    and COLUMN2 = VALUE2".format(listtitle[0], listlink[0])

用特定值替换大写单词,否则您将更新整个表格。

Unknown column in 'field list' error on MySQL Update query


试试这个

self.cursor.execute("UPDATE items SET descs ='{0}'".format(item['title'][0]))

而不是这个

self.cursor.execute('UPDATE items SET descs =%s' % item['title'][0])

【讨论】:

  • 是的,也这样做了。有一个我似乎无法解决的错误。从我对 Gruby 的回复中引用:最初是这样做的,但结果是 error mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'Yii2' in 'field list' Yii2 = 列表中的一个项目
  • 也许您需要在插入的值周围添加反引号?
  • 试过你建议链接后,仍然报同样的错误
  • 能把部分代码和表结构分享给我们吗?
  • 好吧,它实际上是一个网络爬虫的管道代码。使用 Python 和 Scrapy Web 爬虫加上 MySQL。 hastebin.com/ajavifedav.py
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-13
  • 2023-04-10
  • 2019-05-02
相关资源
最近更新 更多