PostgreSQL似乎不允许创建名为"user"的数据库表.但是MySQL将允许创建这样一个表.

这是因为它是一个关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSql方言).

推荐答案

user是一个保留字,使用保留字作为标识符(表、列)通常不是一个好主意.

如果坚持这样做,则必须将表名用双引号引起来:

create table "user" (...);

但是,在引用表时,需要使用双引号.此外,表名也区分大小写."user""User"是不同的表名.

如果你想给自己省go 很多麻烦,就换个名字吧.users, user_account, ...

有关引用标识符的更多详细信息,请参见手册:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

Postgresql相关问答推荐

如何在PostgreSQL中正确删除数据库

处理Ruust-DIESEL中的Jsonb PostgreSQL列

如何在PostgreSQL 16中设置&Q;VARSIZE&Q;和&Q;SET_VARSIZE&Q;

将整数(以毫秒为单位的epoch时间)转换为PrimitiveDateTime

如何在 postgres where 子句中使用 or 对条件进行组合或分组

使用 select 在带有特殊字符的字符串中查找数据

如何使用有限的varchar在postgres中存储单词é

从 PostgreSQL 中的每个组中抽取 N 个样本

无法从 docker-compose 上的其他服务解析 postgres 主机名

在 Ubuntu 11.04 服务器中启用对 postgresql 的 PHP 支持

PostgreSQL - jsonb_each

在 CentOS 上安装 psycopg2 时遇到问题

timezone date_trunc 函数

如何判断每个组中是否存在值

如何使用 postgresql 中的存储过程将数据插入表中

Postgres 表中列的顺序会影响性能吗?

如何在 postgres 模式中列出关系

理解 Postgres 行大小

try 为 ror 应用程序设置 postgres,出现错误 - fe_sendauth:no password supplied

Postgresql 对象 ID 和元组