对于作业分配,我必须检查VARCHAR中的int值,例如: 我的值看起来像这样:
cityCode
Cott1254
Stam2512
Berl0102
我希望能够检查这些表中的int值的总和,并确保它们是大于0的偶数
我尝试了以下操作,但是我收到了语法错误,这仅用于检查整数是否大于0。主要问题是解决我得到的语法错误。
CHECK SUBSTR(CAST(accommodatiecode, 5,4) AS INT)> 0;
有什么建议吗?
谢谢。
答案 0 :(得分:0)
MySQL(历史上)不实现检查约束。但是正确的语法是:
alter table t add constraint chk_t_col
check (SUBSTR(accommodatiecode, 5, 4) + 0) > 0);
这当然不会检查偶数或奇数。那会更像:
accomodatiecode regexp '[0-9]{4}[02468]$'