无法在PostgreSQL中创建名为'user'的数据库表

编程入门 行业动态 更新时间:2024-10-25 19:21:25
本文介绍了无法在PostgreSQL中创建名为'user'的数据库表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 看来PostgreSQL不允许创建一个名为'user'的数据库表。但是MySQL将允许创建这样的表。

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

user 是一个保留字,它通常不是一个好主意,使用标识符(表,列)的保留字。

如果你坚持这样做,你必须将表名称放在双引号中:

create tableuser(...);

但是,总是在引用表时需要使用双引号。此外,表名称区分大小写。 user是不同于User的表名。

如果您想为自己节省很多麻烦,请使用不同的名称。 用户, user_account ,...

更多资讯关于引用的标识符可以在手册中找到: http:// www.postgresql/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

It seems PostgreSQL does not allow to create a database table named 'user'. But MySQL will allow to create such a table.

Is that because it is a key word? But Hibernate cannot identify any issue (even if we set the PostgreSQLDialect).

解决方案

user is a reserved word and it's usually not a good idea use reserved words for identifiers (tables, columns).

If you insist on doing that you have to put the table name in double quotes:

create table "user" (...);

But then you always need to use double quotes when referencing the table. Additionally the table name is then case-sensitive. "user" is a different table name than "User".

If you want to save yourself a lot of trouble use a different name. users, user_account, ...

More details on quoted identifiers can be found in the manual: www.postgresql/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

更多推荐

无法在PostgreSQL中创建名为'user'的数据库表

本文发布于:2023-10-14 12:08:53,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   PostgreSQL   user

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!