1

我已经有一个postgresql创建的数据库(由我以外的另一个管理员提供),创建命令如下图所示。

CREATE TABLE "Districts" (
    "Name" character varying(500),
    "ProvinceCode" text
);

查询插入值到我的表如下:

Insert into Districts (Name,ProvinceCode) values ("Abc","Xyz"); `ERROR:  relation "districts" does not exist`

我也试过:

Insert into "Districts" (Name,ProvinceCode) values ("Abc","Xyz"); `ERROR:  column "name" of relation "Districts" does not exist`

和:

Insert into "Districts" ("Name","ProvinceCode") values ("Abc","Xyz"); `ERROR:  column "Abc" does not exist`

我不知道语法如何正确。我真的需要有人帮忙。

4

1 回答 1

3

要引用标识符,请使用"(双引号)。(不带引号的字符也将被解释为标识符,只是忽略大小写(转换为小写)并在空格处拆分。)

字符串文字周围的引号是'(单引号)。至少这是 SQL 标准的一部分。

因此,适合您的插入是:

INSERT INTO "Districts" ("Name", "ProvinceCode") VALUES ('Abc', 'Xyz');

无论如何,我通常不建议使用带引号的标识符(因为您总是需要随身携带它们,通常没有真正的收获)。因此,如果可能,我建议将表及其列重命名为districts, name, province_code(但由于这在某种意义上不是您的表,因此可能为时已晚)。在此之后,您的插入将如下所示:

INSERT INTO districts (name, province_code) VALUES ('Abc', 'Xyz');
于 2019-10-01T02:46:19.753 回答