使用select查询进行Python SQL Lite更新

时间:2016-04-02 21:48:31

标签: sqlite sql-update

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

例如,

表1

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

表2

id brand
1  b1

我想更新table1 brand = 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

请提供任何解决方案

1 个答案:

答案 0 :(得分:0)

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

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

P.S。这个问题似乎没有特定于Python的,所以我建议删除Python标签。