[英]missing FROM-clause entry for table in psql update query
对于此查询,我收到错误missing FROM-clause entry for table "public"
。 为什么?
BEGIN TRANSACTION;
UPDATE public."Devices"
SET DeviceType = 2
WHERE public."Devices.LocationId" = 5; -- error here
ROLLBACK TRANSACTION;
你在错误的地方有双引号:
UPDATE public."Devices"
SET DeviceType = 2
WHERE public."Devices"."LocationId" = 5;
或者,使用别名:
UPDATE public."Devices" d
SET DeviceType = 2
WHERE d."LocationId" = 5;
而且,不要使用带引号的标识符! 他们是如此痛苦。
我发现这是我可以使用的最简单的语法:
UPDATE public."Devices"
SET "DeviceType" = 2
WHERE "LocationId" = 5;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.