CREATE TABLE IF NOT EXISTS `platform_lines` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `platformId` INT UNSIGNED NOT NULL, `lineId` INT UNSIGNED NOT NULL, `directionId` TINYINT UNSIGNED NOT NULL DEFAULT 0, `orderInLine` SMALLINT UNSIGNED NOT NULL, PRIMARY KEY (id), UNIQUE KEY uq_platform_line_dir (platformId, lineId, directionId), UNIQUE KEY uq_line_dir_order (lineId, directionId, orderInLine), INDEX idx_pl_line (lineId), CONSTRAINT fk_pl_platform FOREIGN KEY (platformId) REFERENCES platforms(id) ON DELETE CASCADE, CONSTRAINT fk_pl_line FOREIGN KEY (lineId) REFERENCES `lines`(id) ON DELETE CASCADE );