当我使用MySQL Workbench创建一个包含单个主键的简单表时,它不仅会创建PK索引(很酷),还会创建第二个唯一索引(?)。这是一个示例输出:
CREATE TABLE `tbl_example` (
`tbl_example_ID` INT(10) UNSIGNED NOT NULL ,
`field1` VARCHAR(45) NULL ,
`field2` VARCHAR(45) NULL ,
PRIMARY KEY (`tbl_example_ID`) ,
UNIQUE INDEX `tbl_example_ID_UNIQUE` (`tbl_example_ID` ASC) )
ENGINE = MyISAM
我的理解是PK假设唯一索引,所以UNIQUE INDEX
行是不必要的,对吗?在我更新一堆表之前,只是寻找一些确认。
答案 0 :(得分:2)
你是对的。主键是(对于MySQL)一个名为“PRIMARY KEY”的唯一索引。因此,在同一列上拥有主键和唯一索引是毫无意义的资源浪费。