mysql 中設置復合主鍵的方法有:創建表時指定或使用 alter table 語句,其作用是唯一標識每一行,提高查詢性能和數據完整性。優點包括快速查找行、強制唯一性和跨多個列保持唯一性,但缺點是增加存儲開銷和影響性能。
MySQL 中設置復合主鍵
復合主鍵是一個包含多個列的唯一索引,它用于唯一標識表中的每一行。它通常用于創建更具唯一性的索引,以提高查詢性能和數據的完整性。
如何設置復合主鍵:
- 創建表時指定:
<code class="sql">CREATE TABLE table_name ( column1 datatype, column2 datatype, PRIMARY KEY (column1, column2) );</code>
登錄后復制
- 使用 ALTER TABLE 語句:
<code class="sql">ALTER TABLE table_name ADD PRIMARY KEY (column1, column2);</code>
登錄后復制
示例:
創建一個名為 customers
的表,其中 first_name
和 last_name
列構成復合主鍵:
<code class="sql">CREATE TABLE customers ( customer_id INT NOT NULL AUTO_INCREMENT, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, PRIMARY KEY (first_name, last_name) );</code>
登錄后復制
優點:
提高查詢性能,因為主鍵用于快速查找行。
確保數據的完整性,因為同一對值不能用于多行。
允許跨多個列強制唯一性。
局限性:
由于需要在多個列上維護索引,因此會增加存儲開銷。
刪除或更新主鍵列的任何部分都可能會影響性能,因為需要重新構建索引。