gpt4 book ai didi

MySQL外键删除

转载 作者:IT老高 更新时间:2023-10-28 23:49:39 25 4
gpt4 key购买 nike

我正在尝试找出关系和删除选项。

我有两个表,UserUserStaff,从 UserUserStaff 的关系是 1:n (一个用户可以有多个员工)。

当我的 User 被删除时,我想删除与该 User 关联的所有 UserStaff 表。当我的 UserStaff 被删除时,我不希望 User 发生任何事情。我知道这是一种级联关系,但我不确定是哪种方式。

即我是在 UserStaff 表中选择现有的外键并使其级联,还是在 User 中创建一个新的外键并将其设置为级联?

最佳答案

是的,这是可能的。您应该在 UserStaff 表中创建 FK。这样:

用户表

CREATE TABLE `User` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

用户人员表

CREATE TABLE `UserStaff` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`UserId` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`),
KEY `UserId` (`UserId`),
CONSTRAINT `UserStaff_ibfk_1`
FOREIGN KEY (`UserId`)
REFERENCES `User` (`Id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

关于MySQL外键删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333302/

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