【发布时间】:2016-01-19 17:15:25
【问题描述】:
我正在开发一个小支持(票务)系统。我的表是tickets 和ticket_replies。
门票表的设计是
id|user_id|title|...
ticket_replies 的设计如下:
id|ticket_id|...
我添加的外键是这样的:
ALTER TABLE `ticket_replies` ADDFOREIGN KEY (`ticket_id`)
REFERENCES `sampleauth`.`tickets`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
现在,当我在“ticket”表中删除“ticket”时,它也会在“ticket_replies”中被删除。另一种方式是行不通的,总而言之,我希望它也能以另一种方式工作,所以我的数据库始终保持一致性。该怎么做?
【问题讨论】:
-
这不能用外键来完成,你必须添加触发器或其他东西来做到这一点
-
使用多个外键不能解决这个问题吧?
-
是的,不会,我认为使用触发器是您的最佳选择。
标签: mysql foreign-keys foreign-key-relationship