gpt4 book ai didi

mysql - sql外键的使用方法

转载 作者:行者123 更新时间:2023-11-30 22:00:13 25 4
gpt4 key购买 nike

在谷歌搜索外键后,这就是我理解它们的方式。

如果我需要将人的电话号码保存在一个有地址的表中,它将为一个人创建多个记录,因为他可以有多个号码。这还将在每个重复的行中存储冗余地址值。所以使用用户 ID 作为外键,我可以调用另一个表并保存地址以防止重复。所以我的问题是,如果从带有地址的用户表中删除用户,它是否也会自动删除电话表中的所有关联值?或者必须在创建表时指定删除这个将删除那个?如果 user-id 仅在第一个表中更改并且仅在第二个表中更改时也会发生什么情况。

如果我有2张 table

   table: user
+-----------------------------+
|user-id | username | address |
+-----------------------------+

table: phone-no
+--------------------------+
| pid | phone-no | user-id |
+---------------------------

另外,如果不是太多,你能告诉我用外键创建这两个的查询吗?

最佳答案

user 表中的 user-id 将是主键,而 phone-no 表中的 user-id 将是引用 user 表中的 user-id 的外键。

    create table user(
userid int identity(1,1) not null primary key,
username varchar(50) not null,
adress varchar(200) not null,
);

create table phone-no(
pid int identity(1,1) not null primary key,
phone-no int not null,
user-id int not null foreign key (userid) references user(userid) on delete cascade,
);

删除级联选项是可选的,希望你明白我的意思。

关于mysql - sql外键的使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43627496/

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