MySQL中的聯合主鍵是指一個表中使用多個列作為主鍵來唯一標識一條記錄。這種方式可以確保數據的唯一性,對于具有復雜查詢需求的應用程序尤為重要。
CREATE TABLE user (
user_id INT UNSIGNED NOT NULL,
product_id INT UNSIGNED NOT NULL,
PRIMARY KEY (user_id, product_id)
);
在上面的例子中,我們創建了一個名為user的表,并使用user_id和product_id列作為聯合主鍵。這種方式可以確保在同一用戶(user_id)購買同一產品(product_id)時不會重復添加記錄。
我們可以通過以下方式來查詢user表中的記錄:
SELECT * FROM user WHERE user_id = 1 AND product_id = 2;
此時,我們可以直接通過聯合主鍵來查詢,而無需使用輔助索引來提高查詢性能。
需要注意的是,對于聯合主鍵來說,每個列的值都不能為空。如果任意一個列的值為空,那么整條記錄都無法被插入到表中。