違い: 1. 主キーは制約であり、一意のインデックスはインデックスです。 2. 主キーの作成後は、一意のインデックスが含まれている必要があり、一意のインデックスは必ずしも主キーである必要はありません。キー; 3. 一意のインデックス列は許可されますが、主キーには Null 値は許可されません; 4. 主キーは他のテーブルから外部キーとして参照できますが、一意のインデックスは参照できません; 5. テーブルは主キーを 1 つだけ作成できますただし、複数の一意のインデックスを作成できます。
このチュートリアルの動作環境: Windows10 システム、mysql8 バージョン、Dell G3 コンピューター。
PRIMARY KEY の正式名は「主キー制約」で、MySQL で最も頻繁に使用される制約です。通常の状況では、DBMS がテーブル内のレコードをより速く検索できるようにするために、テーブルに主キーが設定されます。
主キーは、単一フィールドの主キーと複数フィールドの結合主キーに分かれており、このセクションでは、これら 2 つの主キー制約の作成、変更、削除についてそれぞれ説明します。
主キーを使用する場合は、次の点に注意する必要があります。
各テーブルには、主キーを 1 つだけ定義できます。
主キー値はテーブル内の各行を一意に識別する必要があり、NULL にすることはできません。つまり、テーブル内に同じ主キー値を持つデータ行が 2 つ存在することはできません。これが一意性の原則です。
主キーと一意のインデックスの違い
1. 主キーは制約であり、一意のインデックスです。 Index は Index であり、この 2 つは本質的に異なります。 2. 主キーを作成した後は、一意のインデックスを含める必要がありますが、一意のインデックスは必ずしも主キーである必要はありません。 3. 一意のインデックス列では NULL 値が許可されますが、主キー列では NULL 値が許可されません。 4. 主キーは他のテーブルから外部キーとして参照できますが、一意のインデックスは参照できません。 5. テーブルでは主キーを最大 1 つしか作成できませんが、一意のインデックスは複数作成できます。 6. 主キーは、自動インクリメント列や ID 番号など、変更が容易ではない一意の識別子に適しています。 7. RBO モードでは、主キーの実行計画の優先順位は一意のインデックスの実行計画の優先順位よりも高くなります。どちらもクエリの速度を向上させることができます。 (推奨チュートリアル:mysql ビデオ チュートリアル )
以上が一意のインデックスと主キーの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。