首页 > 解决方案 > MySQL删除与使用外键删除时相关的行

问题描述

假设我有 3 个 SQL 表

用户(id,姓名) Couples(id,title) UsersInCouples(id,user_id,couple_id)

当用户被删除时,我不仅需要从 UsersInCouples 表中删除该用户的所有行,还需要删除现在只剩下一个用户的所有其他行。

标签: mysqlsqlforeign-keys

解决方案


用于删除级联

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

推荐阅读