以下是我的疑问:
insert into zoning_algorithm_value (algorithm_value_id, value, zoning_id)
values (
61,
21,
7321
)
on conflict(algorithm_value_id)
DO
update set value = 21 where zoning_id = 7321 and algorithm_value_id = 61;我只指一张桌子。这是我正在犯的错误。
42702错误:列引用"zoning_id“不明确
如果只有一个表和一个具有该名称的列,那么它怎么可能是模糊的呢?我怎样才能使它恢复工作呢?
发布于 2019-06-07 04:02:28
您要么需要指定表名,要么需要在EXCLUDED子句中的字段之前指定WHERE。
例如,如果您只想在“新”value和algorithm_value_id分别为7321和61时更新algorithm_value_id:
insert into zoning_algorithm_value (algorithm_value_id, value, zoning_id)
values (61, 21, 7321)
on conflict(algorithm_value_id)
DO
update set value = 21 where EXCLUDED.zoning_id = 7321 and EXCLUDED.algorithm_value_id = 61;如果希望WHERE引用“现有”记录值,请使用表名。
https://stackoverflow.com/questions/56487372
复制相似问题