2015-06-30 43 views
0

有沒有辦法預先定義我想要插入到我的表中的值?我的意思是,比如我有表如何預定義列值?

column1 | column2 | column3 
     |   | 
     |   | 
     |   | 

的這個結構我知道,我的欄3應包含例如YESNO只值和MAYBE

有沒有辦法來定義的SQL級別,還是唯一的方法是以編程方式進行?

更確切地說,我尋找的東西,如果我插入一個值,該值將拋出一個數據庫級別的異常不屬於我的預定範圍

附:我正在使用MySql數據庫

+0

什麼SQL數據庫您使用的? –

+0

我正在使用MySql數據庫 – Carmine

+1

你看過[ENUM和SET Constraints](https://dev.mysql.com/doc/refman/5.1/en/constraint-enum.html)嗎? –

回答

1

爲什麼不創建另一個表,在其中定義YES,NO,MAYBE並使用外鍵引用它?

+0

不能確保用戶會插入一些自定義值,是嗎? – Carmine

+0

如果您不授予用戶插入權限,則用戶不能。 – Alp

3

使用枚舉爲一列設置特定值:

CREATE TABLE sizes (
    name ENUM('small', 'medium', 'large') 
); 
+1

在OP編輯他的問題以使其更具體後,這是一個明確的答案。創建完成後,使用外鍵從原始表中引用此表。 – TheSmartWon

相關問題