mysql - MySQL删除与使用外键删除时相关的行
问题描述
假设我有 3 个 SQL 表
用户(id,姓名) Couples(id,title) 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
推荐阅读
- assembly - 如何将数学随机的过程更改为在 dw 中而不是在 db 中返回我?
- c# - Asp.Net Core 2.2 身份认证
- java - 有没有更好的方法处理这种方法中的逻辑条件?
- scala - 将 Spark 数据帧保存到按日期分区的 HDFS
- c# - 无法将值 NULL 插入列错误消息
- c# - 第二个 WPF 窗口为空白
- python-3.x - 无法使用带有 xsd 的 elementtree 读取 XML 元素
- r - 如何在不使用公式表示法的情况下将参数传递给 purrr 的 map 函数?
- android - If(calender.getTime().after(new Date...)) 总是正确的...?
- sql - 在更新查询中运行 dense_rank() 窗口函数 - Oracle