数据类型integer
的列存储业务规则所需的值,该值必须仅为0到4194303.
数据库如何执行此规则?
答案 0 :(得分:3)
在大多数数据库中,您将使用check
约束。 MySQL允许您声明检查约束,但目前不强制执行它们:
alter table t add constraint chk_t_col check (col between 0 and 4194303);
(更具体地说,没有一个支持的存储引擎实现检查约束。)
相反,您需要使用before insert和update触发器来验证值。也许未来的版本实际上会强制执行检查约束并允许它们被声明。
如果您不熟悉触发器,则不应仅从Stack Overflow复制代码。相反,首先要了解它们。一个好的开始是documentation。