поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    6.5.3.1. Молчаливые изменения определений столбцов

    В некоторых случаях 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, «Характеристики сжатых таблиц».

     
    © 1997-2005 PHP Club Team
    Rambler's Top100