gpt4 book ai didi

mysql - 错误1215 外键无法添加

转载 作者:行者123 更新时间:2023-11-29 13:25:20 27 4
gpt4 key购买 nike

好吧,在有人评论之前,它们是相同的数据类型和所有内容!

在用户表上:

group_id TINYINT(3) UNSIGNED NOT NULL DEFAULT 1

在 user_groups 表上:

id TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT KEY

然后是我的sql语句:

ALTER TABLE user

ADD CONSTRAINT FK_user_group_id_user_groups_id
FOREIGN KEY (group_id) REFERENCES user_groups (id)
ON UPDATE CASCADE
ON DELETE SET NULL

我不知道这是否是因为我在删除时将其设置为空,但如果我删除 user_group,我不想删除该用户。只需将 group_id 设置为 null 或..我不知道。当我有这样的用户 group_id 列时它正在工作:

group_id TINYINT(3) UNSIGNED NULL DEFAULT NULL

但我希望所有用户的默认组为 1(因为这是基本用户组)。

感谢您的帮助。

最佳答案

是的,这是因为 ON DELETE SET NULL 。您已将 FK 字段定义为 NOT NULL ,这与 FK 定义冲突 - 删除操作被告知将字段设置为 null,但该字段被定义为非 null,所以...

MySQL 确实“支持”ON DELETE SET DEFAULT ,但仅接受语法,不支持实际的默认操作。

您可能必须使该字段可为空,并设置一个触发器,以便在该字段为空时将其重置为所需的默认值。

关于mysql - 错误1215 外键无法添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20220653/

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