Общие > Базы данных

Типы полей SET ENUM в MySQL

(1/2) > >>

-DieseLok-:
Здравствуйте!

Приведите пожалуйста яркий пример, где нужно использовать эти типы полей в бд?


насколько я понял, но я скорее всего ошибаюся,

образно есть параметры допустим с одним идентификатором, но с разным полем, скажем name

ия создаю таблицу с полями id и name

в id пишу 1  в name пишу \'Коля\', \'Петя\', \'Вася\'
в id пишу 2  в name пишу \'Таня\', \'Маня\', \'Клава\'

правильно?

Зарание спасибо!

Phoinix:
-DieseLok-


--- Цитировать ---но я скорее всего ошибаюся
--- Конец цитаты ---

Это точно...


--- Код: ---
CREATE TABLE my_table (
id INT(11) AUTO_INCREMENT,
name VARCAR(30),
sex ENUM(\'мужчина\',\'женщина\',\'не определено\') DEFAULT \'не определено\');

--- Конец кода ---

Только когда жеский список значений, имеет смысл исползовать ENUM.

Я лично, чаще использую этот тип поля как логический (Да, Нет):

field_name ENUM(\'Y\',\'N\') DEFAULT \'N\'

При этом другие значения это поле принимать не может...

Макс:
У меня сильная неприязнь к таким типам полей, поэтому вместо них я обычно использую tinyint (то есть обычные числа)
А в скрипте храню сами строки :
$yes_no = array("0" => "No", "1" => "Yes");

Причины:
1. нельзя применять в мультиязычны скриптах
2. неудобно получать список возможных значений поля

Макс:

--- Цитировать ---Макс:
1. нельзя применять в мультиязычны скриптах
--- Конец цитаты ---

при правильном подходе можно, но все равно надо делать похожую замену.

Forza:

--- Цитировать ---Макс:
2. неудобно получать список возможных значений поля
--- Конец цитаты ---

А вот и неправда. Достаточно один раз написать функцию, обрабатывающую результат запроса "SHOW COLUMNS FROM tableName LIKE \'columnName\'", добавить её в библиотеку важных функций и далее везде её использовать.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии