纷纭教育
您的当前位置:首页MySQL唯一索引什么意思

MySQL唯一索引什么意思

来源:纷纭教育
 如果确定某个数据列只包含彼此各不相同的值,在为这个数据列创建索引的时候,就应该用关键字UNIQUE把它定义为一个唯一索引。

Mysql会在有新纪录插入数据表时,自动检查新纪录的这个字段的值是否已经在某个记录的这个字段里出现过了。如果是,mysql将拒绝插入那条新纪录。

也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

创建唯一索的方法

操作表

CREATE TABLE `wb_blog` ( 
 `id` smallint(8) unsigned NOT NULL, 
 `catid` smallint(5) unsigned NOT NULL DEFAULT '0', 
 `title` varchar(80) NOT NULL DEFAULT '', 
 `content` text NOT NULL, 
 PRIMARY KEY (`id`), 

 )

创建唯一索可以使用关键字UNIQUE随表一同创建

注:这是在命令行窗口进行操作
mysql> CREATE TABLE `wb_blog` ( 
 -> `id` smallint(8) unsigned NOT NULL, 
 -> `catid` smallint(5) unsigned NOT NULL DEFAULT '0', 
 -> `title` varchar(80) NOT NULL DEFAULT '', 
 -> `content` text NOT NULL, 
 -> PRIMARY KEY (`id`), 
 -> UNIQUE KEY `catename` (`catid`) 
 -> ) ; 
Query OK, 0 rows affected (0.24 sec)

上面代码为wb_blog表的'catid'字段创建名为catename的唯一索引

2、在创建表之后使用CREATE命令来创建

mysql> CREATE UNIQUE INDEX catename ON wb_blog(catid); 
Query OK, 0 rows affected (0.47 sec)

如果不需要唯一索引,则可以这样删除

mysql> ALTER TABLE wb_blog DROP INDEX catename; 
Query OK, 0 rows affected (0.85 sec)
显示全文