好傢伙,我只是爲我的問題:)很抱歉新手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