psql更新查询中表的子句条目中缺少
对于这个查询,我从表“public”的子句条目中得到了缺少的错误psql更新查询中表的子句条目中缺少,sql,postgresql,Sql,Postgresql,对于这个查询,我从表“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 publ
。为什么?
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;