gpt4 book ai didi

hibernate - 主键与约束 pk_id 主键(id)

转载 作者:行者123 更新时间:2023-11-29 11:56:47 24 4
gpt4 key购买 nike

postgres(以及许多其他的)中,我们可以用两种不同的方式声明主键:

方法一:

create table MyTable(
MyId SERIAL PRIMARY KEY
)

方法二:

create table MyTable(
MyId SERIAL,
CONSTRAINT pk_myid PRIMARY KEY (MyId)
)

我的问题是:这些声明之间有什么区别(语法除外)吗?也许 Hibernate 映射?或者也许其中之一被称为使用的良好实践?

我已经知道的 - 第二个用于在多个列上设置 PRIMARY KEY

最佳答案

两个版本之间的唯一区别是 PK 约束的名称。在第一种情况下,Postgres(或有问题的 DBMS)将为您生成一个名称。 Postgres 将创建名称 mytable_pkey。 Oracle 会选择一个像 SYS_C0029159

这样的名称

在第二个版本中,可以控制名称。

但在功能方面没有差异。

我更喜欢第二个版本,这样我可以控制约束使用哪个名称。

关于hibernate - 主键与约束 pk_id 主键(id),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com