Forum Webscript.Ru
Общие => Базы данных => Тема начата: -DieseLok- от 04 Декабря 2004, 16:08:40
-
Здравствуйте!
Приведите пожалуйста яркий пример, где нужно использовать эти типы полей в бд?
насколько я понял, но я скорее всего ошибаюся,
образно есть параметры допустим с одним идентификатором, но с разным полем, скажем name
ия создаю таблицу с полями id и name
в id пишу 1 в name пишу \'Коля\', \'Петя\', \'Вася\'
в id пишу 2 в name пишу \'Таня\', \'Маня\', \'Клава\'
правильно?
Зарание спасибо!
-
-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. нельзя применять в мультиязычны скриптах
при правильном подходе можно, но все равно надо делать похожую замену.
-
Макс:
2. неудобно получать список возможных значений поля
А вот и неправда. Достаточно один раз написать функцию, обрабатывающую результат запроса "SHOW COLUMNS FROM tableName LIKE \'columnName\'", добавить её в библиотеку важных функций и далее везде её использовать.
-
Макс
У меня сильная неприязнь к таким типам полей, поэтому вместо них я обычно использую tinyint
А мне лично, чем нравится это поле - именно тем что идет ограничение возможных вариантов значений для поля...
-
А можно реальный пример использования этих полей со взаимодействием хтмэловских форм?