本文目錄一覽:
- 1、如何修改和刪除Mysql中已經存在的觸發器
- 2、MySQL如何用觸發器實現新增時刪除最後一條數據
- 3、mysql 建立觸發器,希望做到添加一行刪除第一行。
- 4、mysql如何用觸發器禁止某條記錄的刪除、修改
如何修改和刪除Mysql中已經存在的觸發器
修改:alter trigger trigger_name on table_name
刪除: drop trigger trigger_name
MySQL如何用觸發器實現新增時刪除最後一條數據
首先mysql
只支持3種觸發器
1
DELETE
2
INSERT
3
UPDATE
其他的MySQL語句不支持觸發器,所以你第二個需求不能用觸發器實現。
其次是
非常遺憾,MYSQL中觸發器中不能對本表進行
insert
,update
,delete
操作,以免遞歸循環觸發。所以你第一個需求不能在insert前刪除本表數據
對於update
能用set
進行操作替換,insert與delete只能藉助第二張表才能實現需要的目的。
mysql 建立觸發器,希望做到添加一行刪除第一行。
DELIMITER $$
CREATE
TRIGGER dbname.trigger_name AFTER INSERT
ON dbname.table_name
FOR EACH ROW BEGIN
delete from dbname.table_name order by 某個字段 limit 1;–這裡一定要根據某個字段排序,不然你每次都亂七八糟的刪除。
END$$
DELIMITER ;
mysql如何用觸發器禁止某條記錄的刪除、修改
mysql用觸發器禁止某條記錄的刪除、修改:
delimiter //
CREATE TRIGGER xx_company_agent_update BEFORE UPDATE ON xx_company_agent
FOR EACH ROW
BEGIN
IF OLD.bank_card is not null THEN
SET NEW.bank_card = OLD.bank_card,NEW.money= OLD.money,NEW.real_money=OLD.real_money,NEW.bank_name=OLD.bank_name;
END IF;
END;//
delimiter ;
擴展資料
mysql觸發器的使用
用戶記錄用戶的預期事件(schema是特殊用戶的數據庫對象集合。這些對象包括:表,索引,視圖,存儲程序等。在Oracle里, schema要求創建一個用戶。但是也可以創建一個沒有schema的用戶(根本沒有對象)。
所以在Oracle-中,用戶就是一個帳戶而schema就是對象。可能在其他的數據庫平台上可以創建一個沒有用戶的schema。LOGOFF不能是AFTER LOGOFF,將會重新操作,這裡應該是BEFORE,否則就會報錯:替換可以插入不能有AFTER。創建或替換觸發器MYLOGOFFTRIGGER。
參考資料來源:百度百科—mySQL
原創文章,作者:MVRFJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/313471.html