灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2862回复:0

[mysql]关于自身表外键触发器的实现

楼主#
更多 发布于:2012-09-01 02:19


关于自身表外键触发器的实现

目前遇到这样一个外键定义:
`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` */$$
  www.atcpu.com  

/*!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之外的其他引擎可以直接用触发器来实现。








喜欢0 评分0
游客

返回顶部