MySQL中的多主鍵(Multiple Primary Keys)和唯一索引(Unique Index)都是用于確保數據的唯一性和完整性
-
主鍵(Primary Key):
- 主鍵是唯一標識表中每一行記錄的字段。
- 每個表只能有一個主鍵。
- 主鍵字段的值不能為空(NULL)且必須唯一。
- 主鍵可以由一個或多個字段組成,這稱為復合主鍵(Composite Primary Key)。
- 主鍵在創建表時定義,也可以在創建表后添加。
-
唯一索引(Unique Index):
- 唯一索引是一種特殊類型的索引,用于確保索引列中的值唯一。
- 一個表可以有多個唯一索引。
- 唯一索引列的值可以為空(NULL),但只能有一個空值。
- 唯一索引可以由一個或多個字段組成,這稱為復合唯一索引(Composite Unique Index)。
- 唯一索引可以在創建表時定義,也可以在創建表后添加。
總結:
- 主鍵是用于唯一標識表中每一行記錄的字段,而唯一索引是用于確保索引列中的值唯一的特殊類型的索引。
- 主鍵是強制性的,每個表只能有一個主鍵;而唯一索引是可選的,一個表可以有多個唯一索引。
- 主鍵要求字段值不能為空且唯一,而唯一索引允許一個空值,但只能有一個空值。