gpt4 book ai didi

h2 - 引用身份的外键的数据类型?

转载 作者:行者123 更新时间:2023-12-05 04:17:40 25 4
gpt4 key购买 nike

基本上,我对 H2 身份作为 keyword 的使用感到困惑和 data type .

作为 A.id 的外键引用,B.ref 的正确数据类型是什么?

create table A(id IDENTITY)
create table B(id IDENTITY, ref ???)
alter table B
add constraint BRefOK foreign key (ref) references public.A;

h2 控制台显示它是 BIGINT(19),但我想知道是否总是如此,是否有更清洁的解决方案/别名。

最佳答案

我对 H2 没有任何经验,但是通过阅读他们的一些文档并借鉴我对其他数据库的了解,我会这样说:

从数据库的角度来看,IDENTITY 根本不是一种数据类型。 IDENTITY 导致该列被声明为 BIGINT 类型,具有附加属性,即具有关联序列以提供其值并作为表的主键。

如果您觉得让数据类型看起来匹配更“干净”,我相信您可以这样声明您的列,其含义应该是等同的:

create table A(id BIGINT auto_increment primary key);
create table B(id BIGINT auto_increment primary key, ref BIGINT);
alter table B add constraint BRefOK foreign key (ref) references public.A;

然而,了解 H2 的人应该知道 IDENTITY = BIGINT,所以这应该不是必需的。

关于h2 - 引用身份的外键的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223838/

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