mysql Создание таблицы с внешним ключом, ссылкой на другую таблицу -- пример FOREIGN KEY SQL, ON DELETE CASCADE

Forums:

Пример создания внешнего ключа

Создадим таблицу "слайдер":

CREATE TABLE `Slider` (
	`sliderID` INT(11) NOT NULL AUTO_INCREMENT,
	`title` VARCHAR(255) NOT NULL,
	`text` TEXT NULL,
	`isActive` TINYINT(1) NULL DEFAULT '1',
	PRIMARY KEY (`sliderID`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1
;

Затем связанную с этими данными слайдеров таблицу галереи (ответственна за хранения набора картинок для каждого слайдера - также есть поля подписи и ссылки для каждой страницы):

CREATE TABLE `SliderImages` (
	`sliderImageID` INT(11) NOT NULL AUTO_INCREMENT,
	`sliderID` INT(11) NOT NULL,
	`imageID` INT(11) NOT NULL,
    `title` VARCHAR(255) NULL DEFAULT NULL,
	`link` VARCHAR(255) NULL DEFAULT NULL,
	`priority` INT(11) NOT NULL DEFAULT '0',
	PRIMARY KEY (`sliderImageID`),
	INDEX `FK__SliderImages_Slider` (`sliderID`),
	CONSTRAINT `FK_SliderImages_Slider` FOREIGN KEY (`sliderID`) 
            REFERENCES `Slider` (`sliderID`)
           ON UPDATE CASCADE
           ON DELETE CASCADE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
ROW_FORMAT=COMPACT
AUTO_INCREMENT=1
;
vedro-compota's picture

Таблица "Категории":

id   name
---------------------
1    Авто
2    Услуги
3    Недвижимость
4    Предметы искусства 

Таблица 'subcategory" (Подкатегории)


id   name                       category_id 
--------------------------------------------------
1    Легковые автомобили         1 
2    Образовательные услуги      2
3    Квартиры                    3
4    Частные дома                3

category_id - можно и следует назначить внешним ключом

_____________
матфак вгу и остальная классика =)