删除级联上的MySQL自引用表

时间:2018-09-07 19:34:26

标签: mysql constraints cascade

MySQL表结构:

CREATE TABLE `admin_folders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`user_id` int(11) NOT NULL,
`name` varchar(100) NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `ix_admin_folders_parent_id` (`parent_id`),
KEY `ix_admin_folders_name` (`name`),
KEY `ix_admin_folders_user_id` (`user_id`),
CONSTRAINT `admin_folders_parent_id_id` FOREIGN KEY (`parent_id`) REFERENCES `admin_folders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8

此表中有以下条目时:

enter image description here

由于ON DELETE CASCADE约束,我希望在删除ID为13的行时会删除ID为14和15的行,因为它们已被引用。

但是它并没有删除引用的行。

在我的思考过程中我的错在哪里?

Server version: 5.6.33-0ubuntu0.14.04.1-log - (Ubuntu)

更新 它正在工作,PhpMyAdmin中的一个错误是无法正确地重新加载结果集。

0 个答案:

没有答案