我是靠谱客的博主 欢呼钥匙,最近开发中收集的这篇文章主要介绍mysql中实现触发器插入数据前校验数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

创建表填入数据:

CREATE DATABASE test` ;

USE `test`;

DROP TABLE IF EXISTS `account`;

CREATE TABLE `account` (
  `acct_num` int(10) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



insert  into `account`(`acct_num`,`amount`) VALUES(137,14.98),(141,1937.50),(97,-100.00);

创建触发器:
DELIMITER $$

USE `test`$$

DROP TRIGGER  `trigger`$$

CREATE

    TRIGGER `trigger` BEFORE UPDATE ON `account` 
    FOR EACH ROW     BEGIN
	IF NEW.amount < 0 THEN
		SET NEW.amount = 0;
		ELSEIF NEW.amount > 100 THEN
		SET NEW.amount = 100;
	END IF;
    END;
$$

DELIMITER ;

修改数据account如果新数字小于0,就填入0,大于100,就填入100

执行下面的语句进行测试:
UPDATE account SET amount=-10 WHERE acct_num=137;
UPDATE account SET amount=2000 WHERE acct_num=141;

可以看到:
account_num  amount
137          0.00
141          100.00
97           -100.00

最后

以上就是欢呼钥匙为你收集整理的mysql中实现触发器插入数据前校验数据的全部内容,希望文章能够帮你解决mysql中实现触发器插入数据前校验数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部