【问题标题】:Python SQL Lite update using select query [duplicate]使用选择查询的 Python SQLite 更新 [重复]
【发布时间】:2016-04-02 21:48:31
【问题描述】:

如何在 python 上的 sql lite 中使用另一个表中的值更新表列。

例子,

表1

id name value brand
1  n1   v1    -
2  n2   v2    -

表2

id brand
1  b1

我想更新 table1 品牌 = b1 for id=1

我正在尝试这样做

UPDATE table1 r join table2 p on r.id= p.id set r.brand=p.brand

但是python在执行这个语句时会抛出错误

sqlite3.OperationalError: near "r": syntax error

请提供任何解决方案

【问题讨论】:

  • UPDATE table1 SET table1.brand = (SELECT table2.brand FROM table2 WHERE table2.id = table1.id)? stackoverflow.com/questions/3845718/…
  • 它不起作用。 sqlite3.OperationalError:靠近“。”:语法错误

标签: sqlite sql-update


【解决方案1】:

我认为您需要从SET 子句的左侧删除.

UPDATE table1
    SET brand = (
        SELECT table2.brand FROM table2 WHERE table2.id = table1.id
    );

附:这个问题似乎与 Python 无关,所以我建议删除 Python 标记。

【讨论】:

  • 我在 Python sql lite 中尝试过这个,所以我认为它会有意义
  • @Saravana,没问题;你不知道这个问题与sqlite Python 模块无关。这是否为您解决了问题?如果是,请采纳答案。
  • 会试试这个,让我们知道。感谢您的提示
猜你喜欢
  • 2012-06-10
  • 1970-01-01
  • 2013-08-07
  • 1970-01-01
  • 2021-04-02
  • 2018-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多