MySQL 是一款非常流行的數(shù)據(jù)庫軟件,與其他數(shù)據(jù)庫軟件一樣,MySQL 同樣支持設(shè)置不允許重復(fù)值,這樣可以保證數(shù)據(jù)的準(zhǔn)確性和完整性。下面我們將通過使用 pre 標(biāo)簽來展示相關(guān)的 SQL 代碼。
-- 創(chuàng)建一個(gè)名為 users 的表 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username_unique` (`username`) -- 設(shè)置 username 為唯一鍵 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 插入數(shù)據(jù) INSERT INTO `users` (`username`, `email`) VALUES ('tom', 'tom@example.com'), ('jerry', 'jerry@example.com'), ('tom', 'test@example.com'); -- 這里插入一個(gè)同名的用戶,會(huì)出現(xiàn)唯一鍵沖突的錯(cuò)誤 -- 查詢數(shù)據(jù) SELECT * FROM `users`;
從上面的代碼可以看出,我們通過在創(chuàng)建表時(shí)設(shè)置UNIQUE KEY
(唯一鍵)來確保數(shù)據(jù)庫中不會(huì)出現(xiàn)具有相同值的記錄。在插入數(shù)據(jù)時(shí),如果插入的數(shù)據(jù)中唯一鍵的值已經(jīng)存在,就會(huì)出現(xiàn)唯一鍵沖突的錯(cuò)誤。
通過設(shè)置不允許重復(fù)值,我們可以更好地保護(hù)數(shù)據(jù)庫中的數(shù)據(jù),避免數(shù)據(jù)沖突和重復(fù),確保數(shù)據(jù)在系統(tǒng)中的唯一性。