在编写原始查询时,如何处理带有连字符 (-) 的 SQL 表名?即项目用户

How do I deal with SQL tablenames with hyphen (-) when writing raw queries? i.e project-users

我有一个名为 project-users 的 table,我想编写一个 SQL 查询,如 SELECT * FROM project-users 我收到此错误 ERROR: syntax error at or near "-"。 我现在无法更改 table 名称。

根据http://www.postgresql.org/docs/9.0/static/sql-syntax-lexical.html,您应该使用双引号。

在您的情况下,对于 PostgreSQL,查询应该是:

SELECT * FROM "project-users";

最好避免在标识符中使用需要转义或包含空格的字符。