我有一个由三个表组成的(示例)数据库:user、car、key
。 用户
可以拥有多辆汽车
,每辆汽车
可以有多个 key
。截至目前,car
和 key
表有一个外键将它们自己与 user
和 car
相关联(如下) - 这很好用。
我的问题是,如果一辆车不再存在并被删除,这并不一定意味着 key 不再存在。然而,一旦汽车被删除,就无法将 key 关联到用户 - 因为 key 的外键引用的汽车现在已经不存在了。
我知道我可以将用户 ID 与每个 key 一起存储,但我认为这已经达到了使用外键的目的,而且这不是最好的方法。
那么,解决这个问题的最可接受的方法是什么?
谢谢!
最佳答案
因为 key 还在那里并且有一定的意义(因为你不想删除 key ), 我会“软删除”汽车,例如。向表 car 添加一个位列“deleted”。
关于mysql - 我应该在这个例子中使用外键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45535617/