你不要在insert trigger里insert,在update trigger里update.
CREATE TRIGGER encrypt_db_pwd BEFORE INSERT 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.
-- 查看数据库已有触发器use yourdatabasegoselect * from sysobjects where xtype='TR'-- 查看单个触发器exec sp_helptext '触发器名'--删除触发器:基本语句如下:drop trigger trigger_name
以上就是土嘎嘎小编为大家整理的mysql触发器怎么停止相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!