mysql Cоздание таблицы с уникальным полем (ключом) UNIQUE INDEX -- пример SQL
Primary tabs
Forums:
Для столбца alias как-то так:
CREATE TABLE `InfoBlock` ( `infoBlockID` INT(11) NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NULL DEFAULT NULL, `alias` VARCHAR(255) NOT NULL COMMENT 'Машинное имя', `text` TEXT NULL, `isActive` TINYINT(1) NULL DEFAULT '1', PRIMARY KEY (`infoBlockID`), UNIQUE INDEX `alias` (`alias`) ) COMMENT='\'\'Универсальная\'\' таблица для хранения блоков данных' COLLATE='utf8_general_ci' ENGINE=InnoDB ;
-- коде этой SQL-команды:
- помимо PRIMARY KEY столбца `infoBlockID` (ведь главный ключ автоматически подразумевает и поддерживает ограничение уникальности, т.е. в таком столбце не может быть неуникальных в рамках таблицы значений), требование уникальности предъявлено ещё к одному столбцу -- а именно к "alias".
- Теперь СУБД не даст создать в таблице два кортежа с одинаковым alias (создастся исключительная ситуация -- т.е. произойдёт ошибка).
- Log in to post comments
- 3658 reads