Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Пример реализации алгоритма разными способами.

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-41] 

 
 автор: Trianon   (05.02.2009 в 16:47)   письмо автору
 
   для: BinLaden   (05.02.2009 в 16:44)
 

Даже слишком.

  Ответить  
 
 автор: BinLaden   (05.02.2009 в 16:44)   письмо автору
 
   для: Trianon   (05.02.2009 в 16:32)
 

Да я и так много сказал.

  Ответить  
 
 автор: Владимир55   (05.02.2009 в 16:37)   письмо автору
 
   для: Trianon   (05.02.2009 в 16:18)
 

"просто нет никаких причин не заменить его на VARCHAR(24)"
Вот этот вопрос меня и мучил.

"И что-то мне подсказывает, что в каких-то случаях MYSQL сам такую процедуру выполняет."

Как всегда, Вы правы!
Из мануала:
В некоторых случаях MySQL без уведомления изменяет определение столбца, заданное командой CREATE TABLE (Это может осуществляться также для команды ALTER TABLE):

Столбец VARCHAR с длиной меньше, чем четыре, преобразуется в столбец CHAR.
Если некоторый столбец в таблице имеет переменную длину, то и вся строка в результате будет переменной длины. Следовательно, если таблица содержит любые столбцы переменной длины (VARCHAR, TEXT или BLOB), то все столбцы CHAR с длиной, превышающей три символа, преобразуются в столбцы VARCHAR.

  Ответить  
 
 автор: Trianon   (05.02.2009 в 16:32)   письмо автору
 
   для: BinLaden   (05.02.2009 в 16:23)
 

Ключевое слово "пример".
Оно же и в теме топика фигурирует.
Потому и.

  Ответить  
 
 автор: BinLaden   (05.02.2009 в 16:23)   письмо автору
 
   для: Trianon   (05.02.2009 в 16:21)
 

По-моему, Вы совсем недавно занимали другую позицию. Дескать, "это число, которое в тип данных php нормальным образом не укладывается". Причём тут PHP я, к сожалению, так и не понял.

  Ответить  
 
 автор: Trianon   (05.02.2009 в 16:21)   письмо автору
 
   для: BinLaden   (05.02.2009 в 16:20)
 

Абсолютно верно сказано. Не хватает лишь примера.

  Ответить  
 
 автор: BinLaden   (05.02.2009 в 16:20)   письмо автору
 
   для: Владимир55   (05.02.2009 в 15:45)
 

Владимир55, и всё-таки лучше будет IP хранить в unsigned int, записывать и считывать через INET_ATON() и INET_NTOA() соотвественно. Тогда IPv4-адреса будут занимать в базе всего по 4 байта, а не 15.

  Ответить  
 
 автор: Trianon   (05.02.2009 в 16:18)   письмо автору
 
   для: Владимир55   (05.02.2009 в 16:16)
 

просто нет никаких причин не заменить его на VARCHAR(24)

И что-то мне подсказывает, что в каких-то случаях MYSQL сам такую процедуру выполняет. Но тут могу и наврать.
Обратную вещь - замену VARCHAR (1) , VARCHAR(2), VARCHAR(3) на соотв. CHAR он делает точно.

  Ответить  
 
 автор: Владимир55   (05.02.2009 в 16:16)   письмо автору
 
   для: Trianon   (05.02.2009 в 16:04)
 

Это я уже понял, а что происходит с CHAR (24)?

Да ничего? просто исполняется обычным образом? И если здесь 24 достаточно и больше не надо, то пусть так и будет CHAR (24)?

Верно или нет?

  Ответить  
 
 автор: Trianon   (05.02.2009 в 16:04)   письмо автору
 
   для: Владимир55   (05.02.2009 в 15:59)
 

смысл фиксированных полей только в том, чтобы сделать фиксированную длину всей записи в таблице.
Достаточно одного (любого) поля переменной длины, как запись тоже становится переменной длины.

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-41] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования