似乎 PostgreSQL 不允许创建名为“user”的数据库表。但是 MySQL 将允许创建这样的表。
那是因为它是关键词吗?但是 Hibernate 无法识别任何问题(即使我们设置了 PostgreSQLDialect)。
最佳答案
user
是保留字,将保留字用于标识符(表、列)通常不是一个好主意。
如果你坚持这样做,你必须将表名放在双引号中:
create table "user" (...);
但是您总是在引用表格时需要使用双引号。此外,表名是区分大小写的。 "user"
是与 "User"
不同的表名。
如果您想省去很多麻烦,请使用不同的名称。 用户
, user_account
, ...
有关引用标识符的更多详细信息,请参阅手册:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
关于postgresql - 无法在 PostgreSQL 中创建名为 'user' 的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22256124/