Postgres:更新期间列中的字符串错误:

问题描述

我正在尝试更新 Postgres 表中的值:

CREATE TABLE restaurants 
(
    id BIGSERIAL NOT NULL,name VARCHAR(50) NOT NULL,location VARCHAR(50) NOT NULL,price_range INT NOT NULL CHECK (price_range >= 1 AND price_range <=5)
);

这是无效的更新:

UPDATE restaurants 
SET location = ”los angeles”,name = ‘tacos los guichos’,price_range = 2
WHERE id = 27; 

终端说:

错误:“angeles”处或附近的语法错误
第 3 行:location="洛杉矶",
^

我的表在更新时似乎不喜欢字符串,即使我能够插入它们。所以我不确定为什么?当我删除 name 和 location 列时,它更新得很好。

解决方法

在 Postgres 中(如在标准 SQL 中):
'Strings' 用单引号引用。
"Identifiers" 可以用双引号引用。

”los angeles”‘tacos los guichos’ 中的排版引号没有任何用处。

见: