在很多情況下,需要創建一個數據表,并且需要多個唯一鍵來識別數據,這時候就需要使用MySQL建表多個唯一鍵的方法。
CREATE TABLE `product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `sku` varchar(50) NOT NULL, `upc` varchar(50) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_sku` (`sku`), UNIQUE KEY `unique_upc` (`upc`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在上面的代碼中,我們創建了一個名為“product”的數據表,它包含了“id”、“name”、“sku”、“upc”四個字段。這些字段中,“id”是主鍵,而“sku”和“upc”則是唯一鍵。
使用UNIQUE KEY關鍵字可以讓某個字段成為唯一鍵。在本例中,我們創建了兩個唯一鍵,分別是“unique_sku”和“unique_upc”。這樣,在插入數據時,MySQL會檢查這兩個字段的值是否已經存在。如果存在,就會拋出“Duplicate entry”錯誤。
需要注意的是,唯一鍵可以包含NULL值,這意味著您可以在建表時不指定唯一鍵,而是在插入數據時檢查唯一性。但是,在實際的應用場景中,建表時指定唯一鍵可以有效地避免重復數據的插入。