gpt4 book ai didi

MySQL外键级联删除不起作用,完全难倒

转载 作者:可可西里 更新时间:2023-11-01 07:37:23 28 4
gpt4 key购买 nike

我已经阅读了很多关于此的其他主题,但我仍然感到困惑。我创建了两个非常简单的表作为完整性检查,但无法让它们执行级联删除,因此此时需要一些帮助。

CREATE TABLE `test1` (
`test1_ID` int(11) NOT NULL AUTO_INCREMENT,
`test1_name` char(15) DEFAULT NULL,
PRIMARY KEY (`test1_ID`),
UNIQUE KEY `test1_ID_UNIQUE` (`test1_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `test2` (
`test2_ID` int(11) NOT NULL AUTO_INCREMENT,
`test2_FK_test1` int(11) NOT NULL,
`test2_name` char(15) DEFAULT NULL,
PRIMARY KEY (`test2_ID`),
UNIQUE KEY `test2_ID_UNIQUE` (`test2_ID`),
KEY `IDX_test2_FK_test1` (`test2_FK_test1`),
CONSTRAINT `FK_test2__test1` FOREIGN KEY (`test2_FK_test1`) REFERENCES `test1` (`test1_ID`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

用于测试的表数据

Test 1 Table Data:
+----------+------------+
| test1_ID | test1_name |
+----------+------------+
| 1 | test1 r1 |
| 2 | test1 r2 |
+----------+------------+

Test 2 Table Data:
+----------+----------------+----------------+
| test2_ID | test2_FK_test1 | test2_name |
+----------+----------------+----------------+
| 1 | 1 | Test2 R1 - FK1 |
| 2 | 1 | Test2 R2 - FK1 |
| 3 | 1 | Test2 R3 - FK1 |
+----------+----------------+----------------+

Insert statements:
INSERT INTO `test1` VALUES (1,'test1 r2'),(2,'test1 r2');
INSERT INTO `test2` VALUES (1,1,'Test2 R1 - FK1'),(2,1,'Test2 R2 - FK1'),(3,1,'Test2 R3 - FK1');

如果我从 test1 表中删除第一行,test2 表数据没有任何变化

DELETE FROM test1 WHERE test1_ID = 1;

最佳答案

原来是我用的MySQL版本5.5.28有bug。我刚刚升级到 5.6.13,现在一切正常。感谢您的帮助。

关于MySQL外键级联删除不起作用,完全难倒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18112573/

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