ホームページ  >  記事  >  データベース  >  MySQL の一意のインデックスとは何を意味しますか?

MySQL の一意のインデックスとは何を意味しますか?

(*-*)浩
(*-*)浩オリジナル
2019-05-07 15:08:238627ブラウズ

データ列に互いに異なる値のみが含まれていることが確実な場合は、このデータ列のインデックスを作成するときに、キーワード 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 テーブル

2 の 'catid' フィールドに catename という名前の一意のインデックスを作成します。テーブルを作成した後、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。