【原创】关于自身表的外键触发器实现

简介:
目前遇到这样一个外键定义:
`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之外的其他引擎可以直接用触发器来实现。



本文转自 david_yeung 51CTO博客,原文链接:http://blog.51cto.com/yueliangdao0608/863728 ,如需转载请自行联系原作者
相关文章
|
SQL 物联网 Shell
SQLite 虚拟表和触发器操作联结表 | 学习笔记
快速学习 SQLite 虚拟表和触发器操作联结表
|
关系型数据库 MySQL
mysql 触发器一个表改变另一个表也改变
mysql 触发器一个表改变另一个表也改变 mysql 触发器一个表改变另一个也改变 主表: 副表: 删除: DELIMITER $$ ...
2574 0
|
关系型数据库 测试技术 PostgreSQL