我创建了一个表:
CREATE TABLE LuxRoom
(
roomID INT NOT NULL PRIMARY KEY CONSTRAINT roomID_ref_room REFERENCES Room(roomID),
peopleNumber INT NOT NULL,
additionalService TEXT
)
但是当我这样插入时:
INSERT INTO LuxRoom(roomID, peopleNumber, additionalService) VALUES(1, 2, "Extra food, a cab");
我收到此错误:
ERROR: column "Extra food, a cab" does not exist
有什么问题?
答案 0 :(得分:2)
单引号分隔字符串常量或日期/时间常量。
双引号分隔标识符,例如表名或列 名。这通常仅在您的标识符没有时才需要 符合简单标识符的规则。
用单引号替换双引号
INSERT INTO LuxRoom (roomID, peopleNumber, additionalService)
VALUES (1, 2, 'Extra food, a cab');
答案 1 :(得分:1)
PostgreSQL是"挑剔"在SQL语法方面,并在'之间产生差异。和"。 "表示它是一个对象,'它是一个字符串。所以你的查询应该是
INSERT INTO LuxRoom(roomID, peopleNumber, additionalService)
VALUES(1, 2, 'Extra food, a cab');
这与例如不同MySQL上的行为,但标准方式。