好家伙,我只是为我的问题:)很抱歉新手MySQL的值限制为1个0
我已经在使用焦炭,TINYINT,布尔和CHECK约束尝试。
这里是我的CHECK约束:
CHECK (user_type>=0 AND user_type<=1)
但我仍可以插入值大于1,所有我要的只是1和0。 我将使用它作为我的用户类型。 尽管我可以在前端级别验证这一点,但我仍然希望在数据库中进行此操作。提前:)
好家伙,我只是为我的问题:)很抱歉新手MySQL的值限制为1个0
我已经在使用焦炭,TINYINT,布尔和CHECK约束尝试。
这里是我的CHECK约束:
CHECK (user_type>=0 AND user_type<=1)
但我仍可以插入值大于1,所有我要的只是1和0。 我将使用它作为我的用户类型。 尽管我可以在前端级别验证这一点,但我仍然希望在数据库中进行此操作。提前:)
如果您确实希望强制执行该约束,则使用这两个值构建表boolconstants并使用外键约束。黑客的位,但适用于所有枚举值:)
使用set
或enum
作为colum类型。然后定义值(例如:1,0):)
既然是MySQL,那么enum列是否会像预期的那样执行约束?
相关:http://stackoverflow.com/questions/3414421/does-my-sql-supports-check-constraint – 2010-08-14 17:59:29
'INT(1)'不工作? – strager 2010-08-14 18:03:47
strager - 'INT'列可以包含0和1以外的值。'(1)'只设置显示宽度;它不限制可能存储的值。尽管它确实限制了存储的值,但你仍然可以存储2到9个。 – Hammerite 2010-08-14 18:40:57