0

我正在做的是用这个查询查询数据库:

Select * From nutrition Where ID=2

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

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

Select * From nutrition Where desc="s"

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

为什么它拿起“s”而不是desc?

4

2 回答 2

1

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

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

至于您的第一个查询……ID确实不存在。你选对了外壳吗?

于 2013-10-29T02:51:08.083 回答
1

至于剩下的第一个问题,我有根据的猜测是您将列名双引号"ID"。在创建表时或查询时。"ID"IDor idor不同"id",因为在 Postgres 中未加引号的标识符被转换为小写。

阅读手册中的“标识符和关键字”一章以了解。

于 2013-10-29T06:08:26.593 回答