列不存在

时间:2013-10-29 02:49:14

标签: javascript sql postgresql identifier

我正在做的是使用此查询查询数据库:

Select * From nutrition Where ID=2

当它是数据库中的自动增量列时,它表示“列名称ID不存在”。

然后我尝试了不同的东西。

Select * From nutrition Where desc="s"

它说“列名”“不存在”。

为什么它会选择“s”而不是desc?

2 个答案:

答案 0 :(得分:1)

在第二种情况下,"s"不是字符串;标识符包含在SQL中的"中。使用单引号。 (并避免使用desc,因为它是关键字。)

SELECT * FROM nutrition WHERE "desc" = 's'

至于你的第一个查询...... ID确实不存在。你有没有正确的套管?

答案 1 :(得分:1)

至于剩下的第一个问题,我的有根据的猜测是你引用了列名"ID"。创建表格或查询时。 "ID"IDid"id"不同,因为在Postgres中,不带引号的标识符会转换为小写。

Read the chapter "Identifiers and Key Words" in the manual to understand.