6.5.3 Синтаксис оператора CREATE TABLE |
Оглавление | 6.5.4 Синтаксис оператора ALTER TABLE |
В некоторых случаях MySQL без уведомления изменяет определение столбца,
заданное командой CREATE TABLE
(Это может осуществляться также для
команды ALTER TABLE
):
VARCHAR
с длиной меньше, чем четыре, преобразуется в столбец
CHAR
.
VARCHAR
, TEXT
или
BLOB
), то все столбцы CHAR
с длиной, превышающей три символа,
преобразуются в столбцы VARCHAR
. Это в любом случае не влияет на
использование столбцов; в MySQL столбец VARCHAR
представляет собой
просто иной способ хранения символов. MySQL выполняет данное
преобразование, поскольку оно позволяет сэкономить память и сделать
табличные операции более быстрыми. See section 7 Типы таблиц MySQL.
TIMESTAMP
должно быть четным
и находиться в диапазоне от 2
до 14
. При задании размера вывода,
равного 0
или превышающего 14
, указанный размер приводится к 14
.
Нечетные величины размера вывода в пределах от 1
до 13
приводятся к
следующему четному числу.
TIMESTAMP
не может храниться литерал NULL
; установка
данного столбца в NULL
устанавливает его в текущее значение даты и
времени. Поскольку столбцы TIMESTAMP
ведут себя подобным образом, то
атрибуты NULL
и NOT NULL
неприменимы в обычном режиме и игнорируются
при их задании. DESCRIBE tbl_name
всегда сообщает, что столбцу
TIMESTAMP
могут быть присвоены величины NULL
.
Если необходимо увидеть, использует ли MySQL иной тип столбца, чем был
первоначально задан, следует запустить команду DESCRIBE tbl_name
после
создания или изменения данной таблицы.
Некоторые другие изменения типов столбцов могут происходить при сжатии
таблицы с использованием утилиты myisampack
. See section 7.1.2.3 Характеристики сжатых таблиц.
6.5.3 Синтаксис оператора CREATE TABLE |
Оглавление | 6.5.4 Синтаксис оператора ALTER TABLE |