是否可以使用SQL语法来强制创建列,使列值介于
0.00至1.00
例
0.35 --> Correct
2.10 --> Wrong
0.05 --> Correct
我的列数据类型具有DECIMAL(3,2)时,最大值也允许为9.99。
我可以将值的上限限制为0.00到1.00之间吗?
最佳答案
在MySQL中,您可以定义检查约束,但目前尚未实现,也没有影响。但是您可以为此在MySQL中使用触发器并检查该值并在错误的情况下取消更新/插入
delimiter |
CREATE TRIGGER your_update_trigger BEFORE UPDATE ON your_table
FOR EACH ROW
BEGIN
IF NEW.decimal_column not between 0.0 and 1.0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'An error occurred. Decimal value out of range';
END IF;
END
|
delimiter ;
关于mysql - 用MySql Decimal语法表示最大1.00,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26216681/