CREATE
, DROP
, ALTER
CREATE TABLE
Buy this Reference Manual in softcover from Barnes & Noble!
В некоторых случаях 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 Характеристики сжатых таблиц.
Posted by [name withheld] on Tuesday July 30 2002, @7:01am | [Delete] [Edit] |
I didn't think you could use text or blob columns
as part of a primary key.... Only MyISAM tables
can index them, but I can't seem to find the
reference I thought I was remembering.
Add your own comment.