如何使用 PhpMyAdmin 进行级联删除

Col*_*ass 2 phpmyadmin

我想清除测试环境中的一些表,然后用真实环境中的值填充它们。但我不想清除多个表,太多了。

一个例子:
我有一张桌子appointment和一张桌子client
表中appointment有一列client.id。当我在 PhpMyAdmin 中
单击时,所有条目都保持不变。 Empty the table (TRUNCATE)appointmentclient

我可以在 PhpMyAdmin 中设置一些属性,以便当我点击时,所有与 相关的条目也会clientappointment删除吗?Empty the table (TRUNCATE)appointment

ski*_*b1s 5

在开始之前,两个表都必须具有 innodb 存储引擎。我提供的答案假设 clientid 是主键。您不能将appointment.clientid 设置为主,因为它不是唯一的。您应该将 client.id 设置为主键。因此,当您从客户表中删除客户 ID 时,具有该客户 ID 的所有约会都将被删除。选择预约表,点击表结构,打开“关系视图”链接。 预约表结构

在关系菜单中,选择 clientid 列并使用 client.id 列设置外键约束。最后选择 CASCADE 选项 ON DELETE。 关系菜单