下面是一種實現的方法。思路就是想辦法在觸發器中利用一個出錯的語句來中斷代碼的執行。
mysql> create table t_control(id int primary key);
Query OK, 0 rows affected (0.11 sec)
mysql> insert into t_control values (1);
Query OK, 1 row affected (0.05 sec)
mysql> create table t_bluerosehero(id int primary key,col int);
Query OK, 0 rows affected (0.11 sec)
mysql> delimiter //
mysql> create trigger tr_t_bluerosehero_bi before insert on t_bluerosehero
-> for each row
-> begin
-> if new.col>30 then
-> insert into t_control values (1);
-> end if;
-> end;
-> //
Query OK, 0 rows affected (0.08 sec)
mysql> delimiter ;
mysql>
mysql> insert into t_bluerosehero values (1,20);
Query OK, 1 row affected (0.25 sec)
mysql> insert into t_bluerosehero values (2,40);
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
mysql>
mysql> select * from t_bluerosehero;
+----+------+
| id | col |
+----+------+
| 1 | 20 |
+----+------+
1 row in set (0.00 sec)
mysql>
或者
mysql> delimiter //
mysql> create trigger tr_t_bluerosehero_bi before insert on t_bluerosehero
-> for each row
-> begin
-> declare i int;
-> if new.col>30 then
-> insert into xxxx values (1);
-> end if;
-> end;
-> //
Query OK, 0 rows affected (0.06 sec)
mysql> delimiter ;
mysql> delete from t_bluerosehero;
Query OK, 3 rows affected (0.05 sec)
mysql> insert into t_bluerosehero values (1,20);
Query OK, 1 row affected (0.06 sec)
mysql> insert into t_bluerosehero values (2,40);
ERROR 1146 (42S02): Table 'csdn.xxxx' doesn't exist
mysql>
MySQL 在觸發器里中斷記錄的插入或更新?
2019-10-31 15:07mysql教程網 Mysql
MySQL 不象其它有些數據庫可以在觸發器中拋出異常來中斷當然觸發器的執行以阻止相應的SQL語句的執行。在MySQL的目錄版本中還無法直接拋出異常。這樣我們如何實現呢?
延伸 · 閱讀
- 2022-03-11MySQL的索引你了解嗎
- 2022-03-10微軟推送Win11 Build 22572版本更新
- 2022-03-10面試中老生常談的MySQL問答集錦夯實基礎
- 2022-03-10淺談如何保證Mysql主從一致
- 2022-03-10Ubuntu18.04(linux)安裝MySQL的方法步驟
- 2022-03-09MySQL讓人又愛又恨的多表查詢
- Mysql
解決重置Mysql root用戶賬號密碼問題
這篇文章主要介紹了解決重置Mysql root用戶賬號密碼問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下...
- Mysql
MySQL之Field‘***’doesn’t have a default value錯誤解決辦法
這篇文章主要介紹了MySQL之Field‘***’doesn’t have a default value錯誤解決辦法,需要的朋友可以參考下 ...
- Mysql
Centos7下使用yum安裝mysql數據庫的詳細教程(增強版)
這篇文章主要介紹了Centos7下使用yum安裝mysql數據庫的詳細教程(增強版),非常不錯,具有參考借鑒價值,需要的朋友可以參考下 ...
- Mysql
MySQL鎖的知識點總結
在本篇文章里小編給大家整理了關于MySQL鎖的知識點總結以及實例內容,需要的朋友們學習下。...
- Mysql
幾種MySQL中的聯接查詢操作方法總結
這篇文章主要介紹了幾種MySQL中的聯接查詢操作方法總結,文中包括一些代碼舉例講解,需要的朋友可以參考下 ...
- Mysql
MySQL server has gone away錯誤提示解決方法
今天遇到類似的情景,MySQL只是冷冷的說:MySQL server has gone away。 ...
- Mysql
MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快
這篇文章主要介紹了MySQL全文索引、聯合索引、like查詢、json查詢速度大比拼,通過實例代碼截圖的形式給大家介紹的非常詳細,具有一定的參考借鑒價值...
- Mysql
MySQL 查詢速度慢與性能差的原因與解決方法
隨著網站數據量與訪問量的增加,MySQL 查詢速度慢與性能差的問題就日漸明顯,這里為大家分享一下解決方法,需要的朋友可以參考下...