删除的答案关于错误的原因是正确的:必须在查询中 引入 关系标识符(例如,使用FROM / JOIN),然后才能使用它。
虽然sqlite的不 不 支持UPDATE..JOIN
(因此没有办法直接引入查找关系),一个从属子查询可以被用来模拟的效果:
update table_x
set c1 = 100,
c2 = (select y.c2 from table_y as y
where y.id = table_x.id)
需要注意的是 不像 一个合适的UPDATE..JOIN
,如果子选择无法找到匹配,那么NULL将被分配。