>  기사  >  데이터 베이스  >  MySQL 고유 인덱스는 무엇을 의미합니까?

MySQL 고유 인덱스는 무엇을 의미합니까?

(*-*)浩
(*-*)浩원래의
2019-05-07 15:08:238616검색

특정 데이터 열에 서로 다른 값만 포함되어 있다고 확신하는 경우 해당 데이터 열에 대한 인덱스를 생성할 때 UNIQUE 키워드를 사용하여 고유 인덱스로 정의해야 합니다.

Mysql은 새 레코드가 데이터 테이블에 삽입될 때 새 레코드의 이 필드 값이 이미 해당 레코드 필드에 표시되었는지 자동으로 확인합니다. 그렇다면 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)

위 내용은 MySQL 고유 인덱스는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.