SQL キー、MUL と PRI と UNI の比較 質問する

SQL キー、MUL と PRI と UNI の比較 質問する

MySQL のMULPRI、の違いは何ですか?UNI

次のコマンドを使用して、MySQL クエリを実行しています:

desc mytable; 

フィールドの 1 つはMULキーとして表示され、他のフィールドはUNIまたはとして表示されますPRI

PRIキーが の場合、そのキーに関連付けられるレコードはテーブルごとに 1 つだけであることはわかっています。キーが の場合MUL、関連付けられるレコードが複数ある可能性があるということですか?

の応答は次のとおりですmytable

+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| courseid  | int(11) | YES  | MUL | NULL    |       | 
| dept      | char(3) | YES  |     | NULL    |       | 
| coursenum | char(4) | YES  |     | NULL    |       | 
+-----------+---------+------+-----+---------+-------+

ベストアンサー1

DESCRIBE <table>; 

これは実際には次のショートカットです:

SHOW COLUMNS FROM <table>;

いずれの場合でも、「Key」属性には 3 つの値が可能です。

  1. PRI
  2. UNI
  3. MUL

PRIとの意味はUNI非常に明確です。

  • PRI=> 主キー
  • UNI=> ユニークキー

3番目の可能性MULである、(あなたが尋ねた)は、基本的に主キーでもユニークキーでもないインデックスです。名前は「複数」から来ており、同じ値が複数回出現することが許可されています。MySQL ドキュメント:

Keyの場合MUL、列は、列内で特定の値が複数回出現することが許可される非一意インデックスの最初の列です。

最後にもう一つ注意点があります:

テーブルの特定の列に複数のキー値が適用される場合、キーには、、、の順序で最も優先順位の高い値が表示されますPRIUNIMUL

一般的に、MySQL のドキュメントは非常に優れています。疑問がある場合は、チェックしてみてください。

おすすめ記事