mysql设置trigger防止数据被删除

自从给了QA数据库权限,发生数据被删除的致使异常的状况。因此设置了trigger防止数据的误删。sql

在SQLyog中选中须要保护的数据表,右击,选择“Create Trigger...”数据库

调整生成的SQL,如:code

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `demo`.`cant delete` BEFORE DELETE
    ON `demo`.`pricetag`
    FOR EACH ROW BEGIN
    
    declare msg varchar(255);
    set msg="can not delete price tag";
    SIGNAL SQLSTATE 'HY000' SET  MESSAGE_TEXT = msg;


    END$$

DELIMITER ;

执行该SQL语句,再次删除数据就会报错了:blog

要查看trigger,能够经过class

show triggers;

要删除trigger,能够经过权限

drop trigger `trigger_name`;
相关文章
相关标签/搜索