从另一个更新sqlite3表

时间:2011-07-20 08:54:55

标签: sqlite join

问题仅与SQLite3相关。如何从另一个表更新表行? 我的例子:

表“cashpoints”有列“id”,“bank_id”
表“banks_cashpoints”具有列“cp_id”,“b_id”
表应该按条件

连接
cashpoints.id = banks_cashpoints.cp_id 

所以我需要:banks_cashpoints.b_id - > cashpoints.bank_id

我的每一次尝试都失败了。例如这(错误:接近“from”:语法错误):

UPDATE cashpoints
SET bank_id = b_id
    FROM banks_cashpoints bc
WHERE cp_id = id

当我阅读here时,不可能使用FROM语句更新查询。但是如果没有它,我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:2)

不确定它是否有效,但值得尝试:

UPDATE
  cashpoints
SET
  bank_id = b_id
WHERE
  b_id IN (
    SELECT
      b_id
    FROM
      banks_cashpoints
    WHERE
      cp_id = id
  );