2014-01-09 6 views
0

У меня есть эта таблицаMySQL Композитные ключи Целостность

CREATE TABLE `inventario` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `cla` varchar(100) NOT NULL, 
    `des` varchar(500) NOT NULL, 
    `lin` varchar(3) NOT NULL, 
    `cal` varchar(20) NOT NULL, 
    `uen` varchar(20) NOT NULL, 
    `can` double NOT NULL, 
    `fei` varchar(10) NOT NULL, 
    `fec` varchar(10) NOT NULL, 
    `obs` varchar(500) NOT NULL, 
    `ppu` double NOT NULL, 
    `pl1` double NOT NULL, 
    `pl2` double NOT NULL, 
    `pl3` double NOT NULL, 
    `pl4` double NOT NULL, 
    `prm` double NOT NULL, 
    `pr1` varchar(50) NOT NULL, 
    `pr2` varchar(50) NOT NULL, 
    `mnm` double NOT NULL, 
    `max` double NOT NULL, 
    `dias` int(10) NOT NULL DEFAULT '1', 
    `categoria` varchar(50) NOT NULL, 
    PRIMARY KEY (`id`,`cla`) 
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; 

Id и CLA являются первичными ключами, но мне нужно, чтобы сохранить целостность и эта структура позволяет дублировать значения «CLA»: F/е:

Id | Cla 
01 | ADI001 
02 | ADI001 

И мне нужно избегать повторения значения «cla», несмотря на значение «id», как я могу это сделать? Благодарю.

ответ

0

Создайте уникальный индекс на cla. Добавить строку:

unique key cla 
Смежные вопросы