大家好,我只是个新手,很抱歉我的问题:)
我已经尝试过使用char,tinyint,bool和CHECK约束。
这是我的CHECK约束:
CHECK (user_type>=0 AND user_type<=1)
但是我仍然可以插入超过1的值,我想要的只是1和0。 我将它用作我的用户类型。 虽然我可以在前端级别验证这一点,但我仍然希望在数据库本身中进行验证。
提前致谢:)
答案 0 :(得分:4)
使用set
或enum
作为列类型。然后定义值(例如:1,0):)
答案 1 :(得分:3)
CHECK子句被解析但被所有存储引擎忽略。 (Source)
如果你真的想这样做,可以创建一个包含值0和1的表,并设置一个外键约束。
答案 2 :(得分:0)
如果您确实希望强制执行该约束,请使用这两个值创建表boolconstants并使用外键约束。一点点黑客但适用于所有枚举值:)
答案 3 :(得分:0)
由于它是MySQL,枚举列是否会按预期强制执行约束?