关于自身表的外键触发器实现
2012-05-15 12:11:37 来源:WEB开发网核心提示: 目前遇到这样一个外键定义:`t_girl`.`tb1` CONSTRAINT `fk_1` FOREIGN KEY (`r_id`) REFERENCES `tb1` (`id`) ON DELETE CASCADE 目的是对于自己的另外一个字段进行约束, 其实这样看来,关于自身表的外键触发器实现, 后面的级联删除
目前遇到这样一个外键定义:
`t_girl`.`tb1`
CONSTRAINT `fk_1` FOREIGN KEY (`r_id`) REFERENCES `tb1` (`id`) ON DELETE CASCADE
目的是对于自己的另外一个字段进行约束, 其实这样看来, 后面的级联删除就没有必要了,因为针对的是同一张表的同一条记录。
/* Trigger structure for table `tb1` */
DELIMITER $$
/*!50003 DROP TRIGGER*//*!50032 IF EXISTS */ /*!50003 `tr_tb1_before_insert` */$$
/*!50003 CREATE */ /*!50017 DEFINER = 'root'@'localhost' */
/*!50003 TRIGGER `tr_tb1_before_insert`
BEFORE INSERT ON `tb1`
FOR EACH ROW
BEGIN
set new.r_id = new.id;
END
*/$$
DELIMITER ;
我们在除了INNODB之外的其他引擎可以直接用触发器来实现。
本文出自 “上帝,咱们不见不散!” 博客,请务必保留此出
更多精彩
赞助商链接