MySQL值限制为1和0

时间:2010-08-14 17:55:22

标签: mysql

大家好,我只是个新手,很抱歉我的问题:)

我已经尝试过使用char,tinyint,bool和CHECK约束。

这是我的CHECK约束:

CHECK (user_type>=0 AND user_type<=1)

但是我仍然可以插入超过1的值,我想要的只是1和0。 我将它用作我的用户类型。 虽然我可以在前端级别验证这一点,但我仍然希望在数据库本身中进行验证。

提前致谢:)

4 个答案:

答案 0 :(得分:4)

使用setenum作为列类型。然后定义值(例如:1,0):)

答案 1 :(得分:3)

CHECK子句被解析但被所有存储引擎忽略。 (Source)

如果你真的想这样做,可以创建一个包含值0和1的表,并设置一个外键约束。

答案 2 :(得分:0)

如果您确实希望强制执行该约束,请使用这两个值创建表boolconstants并使用外键约束。一点点黑客但适用于所有枚举值:)

答案 3 :(得分:0)

由于它是MySQL,枚举列是否会按预期强制执行约束?

http://dev.mysql.com/doc/refman/5.0/en/enum.html