データ列に互いに異なる値のみが含まれていることが確実な場合は、このデータ列のインデックスを作成するときに、キーワード 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 テーブル
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 サイトの他の関連記事を参照してください。