mysql 使用记录
一、触发器
1、所有触发器内部不能对本表进行update操作,因为造成循环触发,可以使用存储过程代替触发器。即以下形式错误:
DROP TRIGGER `update_trigger`; CREATE DEFINER=`root`@`localhost` TRIGGER `update_trigger` BEFORE UPDATE ON `flag_tb` FOR EACH ROW BEGIN IF OLD.Flag > NEW.Flag THEN UPDATE flag_tb SET Flag=Flag+1 WHERE Flag >= NEW.Flag and authFlag < OLD.Flag; END IF; END;
2、阻止删除某条记录时,可使用删除触发器产生错误阻止删除
DROP TRIGGER `delete_trigger`; CREATE DEFINER=`root`@`localhost` TRIGGER `delete_trigger` BEFORE DELETE ON `flag_tb` FOR EACH ROW BEGIN IF OLD.Flag < 2 THEN insert undefind set name="1"; END IF; END;

浙公网安备 33010602011771号