gpt4 book ai didi

mysql - 我可以不强制 MySQL 中的引用完整性吗

转载 作者:行者123 更新时间:2023-11-29 22:54:32 26 4
gpt4 key购买 nike

我有一个名为“user”的 SQL 表和一个对用户具有外键约束的表“login”。我希望能够删除用户表中的一行,即使有登录行引用它。现在数据库阻止我这样做。

有谁知道我如何更改表(通过 SQL 或最好通过 PHPmyAdmin 来允许我这样做?

这些表是通过 Django 自动创建的。

编辑:澄清一下:我不想级联删除。也就是说,我希望登录表中的行保留,即使它们引用的用户已经消失。

最佳答案

如果您想要这种行为,您必须使用 ON DELETE CASCADE 子句创建外键。使用 ON DELETE CASCADE 外键,引用该用户的所有行都将与该用户一起删除。

参见:http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

编辑:如果您想将 user_id 保留在登录表中,您只需删除外键即可。无论如何,如果您问这是因为您可能应该执行逻辑删除而不是物理删除:Physical vs. logical / soft delete of database record?

关于mysql - 我可以不强制 MySQL 中的引用完整性吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28773339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com