【发布时间】:2014-11-27 05:43:37
【问题描述】:
我有一张表 TBLPRODUCTS。
表格包含一个字段listed tinyint(1) not null default 0
该字段可以取 0-9 之间的值。 mysql有没有办法在这个字段中只允许两个值:1或0
【问题讨论】:
-
这里提供了一种可能的解决方案:stackoverflow.com/a/9249893
-
@AzizShaikh:我赞成将其作为答案。似乎比模拟非功能性 CHECK 约束的触发器更好。
-
实际上,
TINYINT(1)可以取 255 个可能的值,范围从 -128 到 127。您可以使用触发器(BEFORE INSERT 和 BEFORE UPDATE)或外键约束。使用外键约束,您可以在值不在范围内时引发异常。使用触发器,您可以在如何处理值方面拥有更多选择。 -
输入从何而来?这就是我设置约束的地方。
标签: mysql