|
|
|
|
|
для: BinLaden
(05.02.2009 в 16:44)
| | Даже слишком. | |
|
|
|
|
|
|
|
для: Trianon
(05.02.2009 в 16:32)
| | Да я и так много сказал. | |
|
|
|
|
|
|
|
для: Trianon
(05.02.2009 в 16:18)
| | "просто нет никаких причин не заменить его на VARCHAR(24)"
Вот этот вопрос меня и мучил.
"И что-то мне подсказывает, что в каких-то случаях MYSQL сам такую процедуру выполняет."
Как всегда, Вы правы!
Из мануала:
В некоторых случаях MySQL без уведомления изменяет определение столбца, заданное командой CREATE TABLE (Это может осуществляться также для команды ALTER TABLE):
Столбец VARCHAR с длиной меньше, чем четыре, преобразуется в столбец CHAR.
Если некоторый столбец в таблице имеет переменную длину, то и вся строка в результате будет переменной длины. Следовательно, если таблица содержит любые столбцы переменной длины (VARCHAR, TEXT или BLOB), то все столбцы CHAR с длиной, превышающей три символа, преобразуются в столбцы VARCHAR. | |
|
|
|
|
|
|
|
для: BinLaden
(05.02.2009 в 16:23)
| | Ключевое слово "пример".
Оно же и в теме топика фигурирует.
Потому и. | |
|
|
|
|
|
|
|
для: Trianon
(05.02.2009 в 16:21)
| | По-моему, Вы совсем недавно занимали другую позицию. Дескать, "это число, которое в тип данных php нормальным образом не укладывается". Причём тут PHP я, к сожалению, так и не понял. | |
|
|
|
|
|
|
|
для: BinLaden
(05.02.2009 в 16:20)
| | Абсолютно верно сказано. Не хватает лишь примера. | |
|
|
|
|
|
|
|
для: Владимир55
(05.02.2009 в 15:45)
| | Владимир55, и всё-таки лучше будет IP хранить в unsigned int, записывать и считывать через INET_ATON() и INET_NTOA() соотвественно. Тогда IPv4-адреса будут занимать в базе всего по 4 байта, а не 15. | |
|
|
|
|
|
|
|
для: Владимир55
(05.02.2009 в 16:16)
| | просто нет никаких причин не заменить его на VARCHAR(24)
И что-то мне подсказывает, что в каких-то случаях MYSQL сам такую процедуру выполняет. Но тут могу и наврать.
Обратную вещь - замену VARCHAR (1) , VARCHAR(2), VARCHAR(3) на соотв. CHAR он делает точно. | |
|
|
|
|
|
|
|
для: Trianon
(05.02.2009 в 16:04)
| | Это я уже понял, а что происходит с CHAR (24)?
Да ничего? просто исполняется обычным образом? И если здесь 24 достаточно и больше не надо, то пусть так и будет CHAR (24)?
Верно или нет? | |
|
|
|
|
|
|
|
для: Владимир55
(05.02.2009 в 15:59)
| | смысл фиксированных полей только в том, чтобы сделать фиксированную длину всей записи в таблице.
Достаточно одного (любого) поля переменной длины, как запись тоже становится переменной длины. | |
|
|
|
|