Php 如果从主表中删除,MySQL将从其他表中删除行

Php 如果从主表中删除,MySQL将从其他表中删除行,php,mysql,database,wordpress,Php,Mysql,Database,Wordpress,我在Wordpress DB中添加了一个名为wp_likeandfollow的自定义表,它包含以下4列 ID====following_id====follower_id====network_id 这里follower_id和follower_id是用户的实际id,可以有重复的条目。 我想检查一下,如果admin从admin面板中删除了一个用户,那么该用户在likeandfollow表中的所有条目也应该被自动删除,我希望这是通过MySQL自动完成的,而不是通过PHP 提前谢谢。您可以使用触发

我在Wordpress DB中添加了一个名为wp_likeandfollow的自定义表,它包含以下4列

ID====following_id====follower_id====network_id
这里follower_id和follower_id是用户的实际id,可以有重复的条目。 我想检查一下,如果admin从admin面板中删除了一个用户,那么该用户在likeandfollow表中的所有条目也应该被自动删除,我希望这是通过MySQL自动完成的,而不是通过PHP


提前谢谢。

您可以使用触发器来完成此操作

CREATE TRIGGER remove_likes_and_follows AFTER DELETE on wp_users
FOR EACH ROW
    BEGIN
    DELETE FROM wp_likeandfollow
        WHERE wp_likeandfollow.following_id = old.id;
END

在这种情况下,old.id将是wp_users.id。

您可以将以下id和follower id设置为用户表的外键,并在删除时级联。有关参考信息,请参阅您到目前为止所做的查询和模式!我正在使用这个查询,在此之后,wordpress甚至没有从管理面板中删除用户。当我删除触发器时,wordpress能够删除然后创建触发器删除喜欢的内容,并且在删除之前,在rr用户上为每一行从rr_喜欢的内容中删除。下面的id=rr_users.id