MYSQL - 更新后检查值是否为负,如果是抛出错误

时间:2014-03-29 11:07:53

标签: mysql sql-update

如何在表中创建UPDATE记录的SQL语句,并在更新后检查是否

如果是,

值不是负数,抛出错误!


由于我使用TRANSACTION(ROLLBACK,COMMIT),我将使用它来定义是否应该

我提交或回滚。


提前感谢。

1 个答案:

答案 0 :(得分:2)

您可以创建一个触发器,在每次插入后检查该值。如果列value小于零,则会触发错误。

delimiter |
CREATE TRIGGER `check_value` AFTER UPDATE ON your_table 
FOR EACH ROW BEGIN
    IF NEW.value < 0 THEN
      SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'value can not be negative';
   END IF
END
|
delimiter ;