首页 > 解决方案 > postgres error: column doesn't exist error in Postgesql 11.6

问题描述

I am trying to run an update command on postgresql 11.6 by below syntax

 update "YP_SUPPLIERS" set "YP_SUPPLIERS.supplierName" = "update" where "YP_SUPPLIERS.supplierID" = da68e9d0-1100-43e2-0011-db8fbe654321;

I am getting this below error

ERROR:  column "YP_SUPPLIERS.supplierID" does not exist

LINE 1: ... set "YP_SUPPLIERS.supplierName" = "update" where "YP_SUPPLI...

tired different combinations by only giving the column name , removing the quotes but nothing seems to be working.

Could any one suggest me a right way to do it.

标签: postgresqlpostgresql-11quoted-identifierstring-constant

解决方案


You need to quote each element separately, and the table does not need to be repeated for the target column. String constants need to be enclosed in single quotes (') in SQL. Double quotes are only for identifiers.

 update "YP_SUPPLIERS" 
     set "supplierName" = 'update' --<< single quotes for constant values
 --     ^ no table name here
 where "YP_SUPPLIERS"."supplierID" = 'da68e9d0-1100-43e2-0011-db8fbe654321';
 --    ^ schema and table name must be quoted separately

推荐阅读