В некоторых случаях MySQL без
уведомления изменяет определение
столбца, заданное командой
CREATE TABLE (Это может
осуществляться также для команды
ALTER TABLE):
Столбец VARCHAR с длиной
меньше, чем четыре,
преобразуется в столбец
CHAR.
Если некоторый столбец в
таблице имеет переменную длину,
то и вся строка в результате
будет переменной длины.
Следовательно, если таблица
содержит любые столбцы
переменной длины
(VARCHAR, TEXT
или BLOB), то все
столбцы CHAR с длиной,
превышающей три символа,
преобразуются в столбцы
VARCHAR. Это в любом
случае не влияет на
использование столбцов; в MySQL
столбец VARCHAR
представляет собой просто иной
способ хранения символов. MySQL
выполняет данное
преобразование, поскольку оно
позволяет сэкономить память и
сделать табличные операции
более быстрыми. See
Глава 7, Типы таблиц MySQL.
Количество выводящихся
символов столбца
TIMESTAMP должно быть
четным и находиться в диапазоне
от 2 до 14.
При задании размера вывода,
равного 0 или
превышающего 14,
указанный размер приводится к
14. Нечетные величины
размера вывода в пределах от
1 до 13
приводятся к следующему
четному числу.
В столбце TIMESTAMP не
может храниться литерал
NULL; установка данного
столбца в NULL
устанавливает его в текущее
значение даты и времени.
Поскольку столбцы
TIMESTAMP ведут себя
подобным образом, то атрибуты
NULL и NOT NULL
неприменимы в обычном режиме и
игнорируются при их задании.
DESCRIBE tbl_name всегда
сообщает, что столбцу
TIMESTAMP могут быть
присвоены величины
NULL.
MySQL приводит в соответствие определенные типы столбцов, используемые другими производителями баз данных SQL, к типам, принятым в MySQL. See Раздел 6.2.5, «Использование типов столбцов из других баз данных».
Если необходимо увидеть,
использует ли MySQL иной тип
столбца, чем был первоначально
задан, следует запустить команду
DESCRIBE tbl_name после
создания или изменения данной
таблицы.
Некоторые другие изменения типов
столбцов могут происходить при
сжатии таблицы с использованием
утилиты myisampack. See
Раздел 7.1.2.3, «Характеристики сжатых таблиц».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
