Комментарии

Команда ALTER TABLE
( 0 Голосов )

Команда ALTER TABLE похожа на команду CREATE TABLE, за исключением того, что она применяется для изменения структуры таблицы. В Joomla она чаще всего применяется для ввода новых столбцов в таблицу или изменения типа данных в уже существующей таблице. Например, в файле сценария базы данных installation/sql/mysql/ joomla_ update_16betal3. sql можно обнаружить следующий фрагмент кода, где употребляется эта команда:

ALTER TABLE "# template_styles"
CHANGE "params" "params" varchar(102"0) NOT NULL DEFAULT   '';
ALTER TABLE "# menu"
ADD COLUMN "client_id" TINYINT(") NOT NULL DEFAULT 0 AFTER language";
ALTER TABLE "# menu"
ADD UNIQUE "idx_alias_parent_id" ("client_icT ,"parent_id", "alias") ;

Первая команда в этом фрагменте кода изменяет на VARCHAR( 102"0) тип данных в столбце params. Ее выполнение не приводит к изменению или удалению данных, при условии, что данные в таблице соответствуют новому типу. Как правило, размеры столбцов увеличиваются, а не уменьшаются. В этом случае имеющиеся в них данные будут сохранены.

Вторая команда добавляет новый столбец в таблицу # menu. Как видите, в нем установлено исходное нулевое значение с помощью атрибутов NOT NULL DEFAULT 0. По
сле выполнения этой команды столбец clientid будет содержать нулевое (а не пустое) значение в каждой стоке данной таблицы. Обратите также внимание на то, что исходное
нулевое значение в этом столбце указано без одинарных кавычек. В базе данных MySQL устанавливаемые значения можно указывать как в одинарных кавычка, так и без них, хотя первый способ более предпочтителен.

И третья команда вводит однозначный индекс в таблицу # menu. Но эта команда может завершиться неудачно, если существующие данные неоднозначны. Так, если в таблице имеются две или более строки с одним и тем же значением в столбцах client_id, parent_id и alias, эта команда завершится неудачно выдачей сообщения об ошибке.


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости