關於自身表外來鍵觸發器的實現

2022-04-08 19:52:27 字數 734 閱讀 7564

關於自身表外來鍵觸發器的實現

目前遇到這樣乙個外來鍵定義:

`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.2cto.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之外的其他引擎可以直接用觸發器來實現。  

作者 yueliangdao0608

SQL 觸發器 外來鍵約束

1 構造乙個觸發器audit log,在向employees test表中插入一條資料的時候,觸發插入相關的資料到audit中。create table employees test id int primary key not null,name text not null,age int not...

用觸發器實現SQLite的外來鍵約束

用sqlite的觸發器實現刪除時,要關閉外來鍵,要不然會有出現刪不了外來鍵對應鍵的情況。最近在做數碼相框上的嵌入式開發,開發過程中使用的sqlite資料庫,但是編碼的過程中,遇到個問題,sqlite不支援外來鍵約束,外來鍵約束會被解析但不會被執行。參考了網上的做法,自己做了個實驗,用觸發器來實現了s...

用觸發器實現SQLite的外來鍵約束

最近在做數碼相框上的嵌入式開發,開發過程中使用的sqlite資料庫,但是編碼的過程中,遇到個問題,sqlite不支援外來鍵約束,外來鍵約束會被解析但不會被執行。參考了網上的做法,自己做了個實驗,用觸發器來實現了sqlite的外來鍵約束。建表語句 create table jokeitem id in...