gpt4 book ai didi

mysql - 删除级联时的外部约束不起作用

转载 作者:行者123 更新时间:2023-11-29 00:47:58 25 4
gpt4 key购买 nike

我创建了一个自定义表,它对 core_website 表有外部约束。但是,删除级联 不起作用。

我搜索并找到了这个 relevant thread ,其中指出两列之间的数据类型必须相同。两种数据类型都是 smallint(5)

我确实注意到列定义中的一个小差异,即在 core_website 中,设置 Allow Null,并且 Default 未设置为零,而在 account 表中,Allow Null < em>已设置,默认为零。我认为更改这些不会有任何影响,但我继续在帐户表上更改它们以匹配,但这没有帮助。

CREATE TABLE `account` (
`account_id` smallint(11) unsigned NOT NULL AUTO_INCREMENT,
`website_id` smallint(5) unsigned DEFAULT '0',
`code` varchar(64) NOT NULL DEFAULT '',
PRIMARY KEY (`account_id`),
UNIQUE KEY `code` (`code`),
KEY `FK_WEBSITE_ID` (`website_id`),
CONSTRAINT `FK_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8

最佳答案

试试这个,让我们知道结果。

CREATE TABLE `account` (
`account_id` smallint(11) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
`website_id` smallint(5) unsigned DEFAULT '0',
`code` varchar(64) NOT NULL DEFAULT '',
UNIQUE KEY `code` (`code`),
KEY `FK_WEBSITE_ID` (`website_id`),
CONSTRAINT `FK_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8

关于mysql - 删除级联时的外部约束不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9779995/

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