Php 删除包含外键的数据

Php 删除包含外键的数据,php,mysql,sql,foreign-keys,sql-delete,Php,Mysql,Sql,Foreign Keys,Sql Delete,我通常使用外键进行良好实践并保持数据完整性,但在尝试删除某些数据时,我总是面临以下“问题”: 我有一个带有主组表的场景:组 我还有其他几个与组相关的表,例如: 用户组(用户和组之间的关系表) 课程组(课程和组之间的关系表) 删除组时,我始终需要在删除相关表中对该组的引用之前。。。但目前我有几个关系表,我的排除代码最终变得相当大 我的问题是:是否有任何函数或库,我可以使用,使这项工作可以更自动地完成?一个可以为我检查所有这些引用并已排除的函数。如果有人知道如何用尽可能少的代码使它更快,谢谢注意:我

我通常使用外键进行良好实践并保持数据完整性,但在尝试删除某些数据时,我总是面临以下“问题”:

我有一个带有主组表的场景:

我还有其他几个与组相关的表,例如:

用户组(用户和组之间的关系表)

课程组(课程和组之间的关系表)

删除组时,我始终需要在删除相关表中对该组的引用之前。。。但目前我有几个关系表,我的排除代码最终变得相当大

我的问题是:是否有任何函数或库,我可以使用,使这项工作可以更自动地完成?一个可以为我检查所有这些引用并已排除的函数。如果有人知道如何用尽可能少的代码使它更快,谢谢注意:我目前正在使用PHP


您希望在子表中的外键约束中将删除级联时的
作为一个选项

假设表
如下所示:

create table groups (
    id int primary key,
    ... -- other columns here
);
然后将子表
用户组
声明为:

create table user_groups (
    ... -- some columns here
    group_id int,
    foreign key (group_id) references groups(id) on delete cascade
)

您希望在子表中的外键约束中将删除级联时的
作为一个选项

假设表
如下所示:

create table groups (
    id int primary key,
    ... -- other columns here
);
然后将子表
用户组
声明为:

create table user_groups (
    ... -- some columns here
    group_id int,
    foreign key (group_id) references groups(id) on delete cascade
)

精彩的!正是我需要的!!非常感谢你!精彩的!正是我需要的!!非常感谢你!