mysql自引用表_什么是清空自引用MySQL表的最佳方法?

我有一个自引用MySQL表与递归parent_id:

CREATE TABLE `recursive` (

`id` int(11) NOT NULL auto_increment,

`parent_id` int(11) default NULL,

`name` varchar(100) NOT NULL,

PRIMARY KEY (`id`),

KEY `data_categorysource_parent_id` (`parent_id`),

CONSTRAINT `parent_id_refs_id_627b4293`

FOREIGN KEY (`parent_id`) REFERENCES `data_categorysource` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

在测试期间,我想清空它,但TRUNCATE失败:

TRUNCATE `recursive`

/* SQL Error: Cannot delete or update a parent row: a foreign key

constraint fails...

我目前必须手动删除所有记录,从树的底部开始向上工作。即使是小树,这也变得更加繁重。

有没有一个简单的方法呢?我不能拖动表并轻松地重新创建它,因为其他表引用它(我已经截断了那些,所以应该没有数据完整性问题)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值