你不要在insert trigger里insert,在update trigger里update.
創新互聯公司2013年開創至今,是專業互聯網技術服務公司,擁有項目成都網站制作、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元內黃做網站,已為上家服務,為內黃各地企業和個人服務,聯系電話:18982081108
CREATE TRIGGER encrypt_db_pwd BEFORE INSERT ON dbinfo
FOR EACH ROW BEGIN
SET NEW.db_pwd=AES_ENCRYPT(NEW.db_pwd,'longskysoft');
END ;
DROP TRIGGER IF EXISTS encrypt_db_pwd2;
CREATE TRIGGER encrypt_db_pwd2 BEFORE Update ON dbinfo
FOR EACH ROW BEGIN
SET NEW.db_pwd=AES_ENCRYPT(NEW.db_pwd,'longskysoft');
END ;
你只set一下估計就可以了。試試看。
首先在sql中查詢計劃事件的狀態:SHOW VARIABLES LIKE 'event_scheduler'
如果返回的是off表示當前是關閉狀態,如果是on當前已經開啟了計劃任務。
在mysql程序的目錄下找到my.ini文件,添加一個項:event_scheduler = 1
保存后重啟mysql服務即可,重啟服務可以在服務管理里面找到
也可以用腳本來實現:
mysql event_scheduler
開啟event_scheduler sql指令:
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;
相反,關閉event_scheduler指令:
SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;
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
-- 查看數據庫已有觸發器 use yourdatabase go select * from sysobjects where xtype='TR' -- 查看單個觸發器 exec sp_helptext '觸發器名'--刪除觸發器: 基本語句如下: drop trigger trigger_name
網站名稱:mysql觸發器怎么停止,mysql禁用觸發器
文章位置:http://vcdvsql.cn/article40/hcheho.html
成都網站建設公司_創新互聯,為您提供微信公眾號、自適應網站、標簽優化、建站公司、做網站、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯