2015-06-30 3 views
0

Есть ли способ предопределить значения, которые я хочу вставить в таблицу? Я имею в виду, например, у меня есть эта структура таблицыКак предопределить значения столбцов?

column1 | column2 | column3 
     |   | 
     |   | 
     |   | 

И я знаю, что мой колонка3 должен содержать только значения, например YES, NO и MAYBE

есть способ определить, что в SQL уровень, или единственный способ сделать это программно?

Чтобы быть более точным, я искал что-то, что будет бросать исключение на уровне базы данных, если я ввожу значение, которое не попадает в мой предопределенного диапазона

P.S. Я использую базу данных 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

После того как ОП отредактировал свой вопрос, чтобы уточнить его, это ясный ответ. После создания этой ссылки обратитесь к этой таблице из оригинала с помощью внешнего ключа. – TheSmartWon

Смежные вопросы