MySQL复合键完整性

时间:2014-01-09 18:57:04

标签: mysql primary-key

我有这张桌子

    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 / e:

Id  |  Cla
01  | ADI001
02  | ADI001

我需要避免重复“cla”值,尽管有“id”值,我该怎么做?感谢。

1 个答案:

答案 0 :(得分:0)

cla上创建唯一索引。添加以下行:

unique key cla