MySQL删除与外键删除相关的行

问题描述

假设我有3个sql

用户(ID,名称) 夫妻(身份证,头衔) UsersInCouples(id,user_id,couple_id)

删除用户后,不仅需要从UsersInCouples表中删除与此用户相关的所有行,而且还需要删除其中仅包含一个用户的夫妇的所有其他行。

解决方法

在删除级联上使用

CREATE TABLE users (
    user_id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(255) NOT NULL
    
);

    create table UsersInCouples (
   id,user_id,couple_id,FOREIGN KEY (user_id)
        REFERENCES users (user_id)
        ON DELETE CASCADE
  )

delete from users