问题仅与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语句更新查询。但是如果没有它,我不知道如何做到这一点。
答案 0 :(得分:2)
不确定它是否有效,但值得尝试:
UPDATE
cashpoints
SET
bank_id = b_id
WHERE
b_id IN (
SELECT
b_id
FROM
banks_cashpoints
WHERE
cp_id = id
);