2017-10-17 69 views
-2

在mysql中編寫代碼,在表中添加列顏色(varchar(20)),默認值爲'pink',該列中的值爲不允許的是:'白色','黑色','紅色'(其他值允許!!)添加具有範圍限制的列,該列的值不得爲特定值

ALTER TABLE船 添加列顏色varchar(20)默認「粉紅色」...?

+0

儘管表達不佳,這聽起來像一個涉及CHECK CONSTRAINTS的問題,MySQL不支持,所以我想知道是否喲你用過正確的標籤。 – Strawberry

回答

0

查詢是正確的,但是作爲color數據類型varchar您可以添加任何內容。你必須用你的編程語言來管理這些檢查。

您可以使用Trigger來限制輸入。這裏有一個例子:

MySQL trigger before Insert value Checking

要限制你可以使用ENUM的投入,但它可以讓你輸入你定義爲ENUM到數據庫中只有特定的值

這裏是文檔鏈接:

https://dev.mysql.com/doc/refman/5.7/en/enum.html

+0

ENUM只有該列可能的值,我的問題是不能有這些值的列,如白色,黑色,紅色。 對不起,我的英文不好 – yh264

+0

@ yh264那麼你必須使用觸發器: https://stackoverflow.com/questions/12836270/mysql-trigger-before-insert-value-checking –