2016-11-22 56 views
-1
CREATE TABLE table_name(
    id INT NOT NULL PRIMARY KEY, 
    Name TEXT, 
    Post TEXT, 
    Age INT LEN<68 
    ) 

如何創建約束必須是管理員或職員的Post屬性。爲約束屬性創建sql

回答

2

MySQL不強制執行檢查約束。這使你有三個選擇:

  1. 您可以創建一個enum有兩個值,'manager''clerk'
  2. 您可以創建一個具有兩行的引用表,並使用外鍵引用。
  3. 您可以創建一個觸發器來檢查值。

順便說一句,這條線:

Age INT LEN<68 

不是語法正確。

+0

或之前插入觸發器? –

+0

@戈登謝謝。我應該使用CHECK約束, – Steve

+0

@Steve。 。 。不。MySQL不強制執行CHECK約束。 –