Postgresql中不存在列

时间:2015-02-03 07:39:13

标签: database postgresql

我创建了一个表:

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

有什么问题?

2 个答案:

答案 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上的行为,但标准方式。