gpt4 book ai didi

sql - 引用非主键列创建表

转载 作者:行者123 更新时间:2023-11-29 12:38:03 26 4
gpt4 key购买 nike

我有两个表 Users & Stores

Users表主键是address & phone number的组合(用户通过网页注册,我不希望同一个用户注册两次),userId列是序列但不是主键

在 Stores 表中,ownerID 列是用户表中的用户 ID - 但由于它不是主键,因此无法设置引用(尽管它是串行的)

我怎样才能达到这个结果?

最佳答案

引用的列不必是主键。

外键可以引用主键或唯一约束的列。

这可以通过以下方式完成:

CREATE TABLE Users(
address varchar(100),
phone_number varchar(20),
userid serial,
constraint pk primary key (address, phone_number ),
constraint userid_unq unique (userid)
);

create table Stores(
storeid int primary key,
ownerID integer,
constraint b_fk foreign key (ownerID)
references Users(userid)
);

关于sql - 引用非主键列创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19615148/

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