J'ai 2 tables avec la structure suivante :
CREATE TABLE IF NOT EXISTS `car` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`title` VARCHAR(255) NOT NULL
PRIMARY KEY (`id`) ,
UNIQUE INDEX `name_UNIQUE` (`name` ASC) )
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `book` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`title` VARCHAR(255) NOT NULL
PRIMARY KEY (`id`) ,
UNIQUE INDEX `name_UNIQUE` (`name` ASC) )
ENGINE = InnoDB;
Je génère la colonne du nom à partir du titre ; par exemple : si le titre : Foo Bar -> nom : foo-bar. J'utilise cette valeur dans l'URL. Auparavant, j'avais des URL comme /car/foo-bar ou /book/foo-bar. Avoir la même valeur de nom dans les deux tables n'était pas un problème. Mais je veux des URLs plus courtes maintenant : /foo-bar ou /foo-bar-2.
Comment faire pour que la valeur du nom soit unique dans plusieurs tables ?