我正在使用postgreSQL。在这里,我在列中插入值时遇到错误,所有列名称、区分大小写、值都是正确的

问题描述 投票:0回答:1

我正在学习 SQL,同时将值输入“客户”(Table_name),有五列(CustID、CustName、Age、City、Salary)。我正在输入所有内容并区分大小写,但仍然面临错误。

我的命令:

INSERT INTO customer
(CustID, CustName, Age, City, Salary)
VALUES
(1, 'Ajay', 55, 'Delhi', 52000)

ERROR:  column "custid" of relation "customer" does not exist
LINE 2:  (CustID, CustName, Age, City, Salary)
sql postgresql error-handling sql-insert
1个回答
0
投票

线索就在错误消息中。它说

'列“custid”...不存在'

当然,您试图将数据插入列

CustID
,而不是
custid
。这可能看起来令人困惑,但请记住 SQL 不应该是区分大小写的语言!我们通常使用大小写来直观地区分关键字和值。

因此,默认行为是将查询中的所有列名称映射为小写,以便

CustID
CUSTID
custid
都被视为相同。

您可以坚持使用双引号使 Postgres 区分大小写:

INSERT INTO customer
("CustID", "CustName", "Age", "City", "Salary")
VALUES
(1, 'Ajay', 55, 'Delhi', 52000)

这当然是极其乏味的。这就是为什么我们通常建议使用

snake_case
列名称(例如
cust_id
),而不是
CamelCase

© www.soinside.com 2019 - 2024. All rights reserved.