搜索过了,但当我开始的时候更困惑了。我有两张table, AlertsTable
以及 AlertRecipientsTable
.
我想添加一个级联删除,表示 AlertRecipientID
已删除(此人已被删除),我希望它自动删除中的所有记录 AlertsTable
已经移除的 AlertRecipientID
. AlertRecipientID
是两个表中的字段。我仍然希望保持创建警报收件人的能力,而不必为该收件人设置警报记录。
我对如何在mysql中设置这个约束感到困惑。我已经确认我所有的表都配置为innodb和am,使用的是mysql版本5.6.36-cll-lve。
例子:
警报稳定:
AlertID AlertType AlertName AlertUserID AlertRecipientID AlertDateTimeAdded
1 1 Test 1 56 2018-01-07 14:29:39
警报接收器稳定:
AlertRecipientID AlertRecipientUserID AlertRecipientFirstName AlertRecipientLastName
56 1 John Doe
当我删除 John Doe
与
RecipientID 56
,我希望它删除 AlertsTable
命名 Test
.
1条答案
按热度按时间lnlaulya1#
https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
这应该像你在文章中描述的那样有效。外键约束已启用
AlertsTable
这意味着该表中不能存在具有AlertRecipientID
不存在于AlertRecipientsTable
,但您可以在该表中自由设置没有任何项的收件人AlertsTable