MySQL的唯一鍵可以保證表中的某一列或者多列數(shù)據(jù)的唯一性,從而避免數(shù)據(jù)重復(fù)和沖突的產(chǎn)生,確保數(shù)據(jù)精確性和完整性。下面是如何在MySQL中設(shè)置唯一鍵的方法。
CREATE TABLE `table_name`( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, PRIMARY KEY(`id`), UNIQUE KEY `unique_name_email` (`name`,`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上SQL語(yǔ)句是一個(gè)簡(jiǎn)單的MySQL表創(chuàng)建語(yǔ)句,其中UNIQUE KEY `unique_name_email` (`name`,`email`)表示在表中設(shè)置了一個(gè)唯一鍵,該鍵由name和email兩列組成,保證了這兩列數(shù)據(jù)的唯一性。
如果要為已經(jīng)存在的表添加唯一鍵,可以使用ALTER TABLE語(yǔ)句。下面是添加唯一鍵的示例代碼。
ALTER TABLE table_name ADD UNIQUE KEY `unique_name_email` (`name`,`email`);
除了上述示例中的復(fù)合唯一鍵,MySQL還支持單列唯一鍵。單列唯一鍵可以通過(guò)在列定義時(shí)添加UNIQUE關(guān)鍵字來(lái)實(shí)現(xiàn),示例代碼如下。
CREATE TABLE `table_name`( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL UNIQUE, `email` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, PRIMARY KEY(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上代碼中,使用UNIQUE關(guān)鍵字將name列定義為唯一鍵,保證了該列數(shù)據(jù)的唯一性。
上一篇mysql唯一鍵怎么打
下一篇jquery md5解密