Мне нужен запрос, который (для заданного имени таблицы) покажет список столбцов с индикатором, если для этого столбца существует ограничение UNIQUE, НО только если этот столбец является ограничением SINGLE COLUMN, а НЕ, если этот столбец является частью ограничения нескольких столбцов.
Например для этой таблицы:
CREATE TABLE IF NOT EXISTS `prices` (
`priceId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`motorcycleId` INT UNSIGNED NOT NULL,
`priceDatum` DATE NOT NULL,
`price` INT NOT NULL DEFAULT 0,
PRIMARY KEY (`priceId`),
INDEX `price_motorcycleId_fk_idx` (`motorcycleId` ASC),
UNIQUE INDEX `priceId_UNIQUE` (`priceId` ASC),
UNIQUE INDEX `price_UNIQUE` (`motorcycleId` ASC, `priceDatum` ASC),
CONSTRAINT `price_motorcycleId_fk`
FOREIGN KEY (`motorcycleId`)
REFERENCES `motorcycles` (`motorcycleId`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
этот запрос должен дать:
COLUMN |UNIQUE
============+======
priceId | Y
motorcycleId| N <-- should not be shown as UNIQUE since not single constraint
priceDatum | N <-- should not be shown as UNIQUE since not single constraint
price | N