双向外键约束检查

时间:2017-04-08 14:45:36

标签: mysql foreign-keys constraints

我有这两个表:

Table player
+----+----------+------------+
| ID | Nickname | Lastloc_ID |
+----+----------+------------+

Table location
+----+---+---+---+
| ID | X | Y | Z |
+----+---+---+---+

我想将player.Lastloc_IDlocation.ID联系起来,以便:

  • 当我使用新值更新 player.Lastloc_ID时,location中相应的旧行会被删除。
  • 当我在player删除行时,location中的相应行会被删除。
  • 当我使用新坐标更新 location时,没有任何反应。
  • 当我在location删除行时,player.Lastloc_ID更改为NULL。

有没有简单的方法来实现这一目标?

重要提示: 表location是保存位置的通用表。可以有更多的表使用此表来存储位置(每个表创建其新记录,始终为1:1关系)。

1 个答案:

答案 0 :(得分:0)

可能需要ON DELETE CASCADE