繁体   English   中英

在 psql 更新查询中缺少表的 FROM 子句条目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM