MySQL Workbench 创建额外索引
当我使用 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
行是不必要的,对吗?只是在更新一堆表格之前寻找一些确认。
When I use MySQL Workbench to create a simple table with a single primary key, it not only creates the PK index (cool) but also a second Unique Index (?). Here's an example output:
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
It's my understanding that a PK assumes unique index so the UNIQUE INDEX
line is unnecessary, correct? Just looking for some confirmation before I update a bunch of tables.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你是对的。主键(对于 MySQL)是一个名为“PRIMARY KEY”的唯一索引。因此,在同一列上拥有主键和唯一索引是毫无意义的资源浪费。
You are right. A Primary Key is (for MySQL) a unique index with the name 'PRIMARY KEY'. So having a Primary Key and a unique index on the same column(s) is a pointless waste of resources.