繁体   English   中英

删除条目而不删除相关条目mysql innoDB

[英]Delete entry without deleting related entries mysql innoDB

我有一个数据库,用户有不同的项目。 用户可以有多个项目,但项目只能有一个用户。

如果我要删除用户而不删除他的项目,我会遇到问题。 除非我先删除项目,否则MySql不会让我删除用户。

有没有办法可以删除用户并保留项目?

如果包含用户和项目的表之间存在外键关系,则可以在项目表的create table中使用它

 FOREIGN KEY (user_id)
 REFERENCES users(user_id)
 ON DELETE SET NULL,

不幸的是,您需要再次删除并创建表,因为您无法使用alter在现有表上进行此更改

您已使用外键约束设置了架构,因此项目表行始终存在拥有的用户。

这种“删除”通常通过软删除来完成:向表中添加“非活动”列,并在要将特定行标记为已删除时将其设置为“是”或非零等。

您必须更改外键约束才能执行此操作。 这是拥有外键的原因之一,你不要破坏它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM