在MySQL中删除父表

| 我创建了两个简单的表格来说明这个问题。
CREATE TABLE `child` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `father_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `IDX_22B354292055B9A2` (`father_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

CREATE TABLE `father` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

ALTER TABLE `child`
  ADD CONSTRAINT `child_ibfk_1` FOREIGN KEY (`father_id`) REFERENCES `father` (`id`) 
  ON DELETE CASCADE;
想象一下,子表中有通过外键链接到父表的行。 如果我删除了父表中的行,而该表中有链接到子表中的行,则无论如何都可以删除它,因为我已激活了“ ON DELETE CASCADE \”。 问题是,如果我尝试删除父表,即使在父表和子表上都没有行,我也会收到以下错误消息(在phpmyadmin中):
#1217 - Cannot delete or update a parent row: a foreign key constraint fails
我尝试了以下命令:
SET foreign_key_checks = 0;
但是出现相同的错误消息。 我可以删除整个数据库并重新创建它,但是如果有其他解决方案(例如行的ON DELETE CASCADE),我不想这样做。 有什么建议么?     
已邀请:
        尝试删除约束本身。 alter table child drop外键child_ibfk_1;     

要回复问题请先登录注册