MySQL數據庫中的唯一約束(unique constraint)是一種可以用來保證表中某一列(或是多列)中的所有值都不重復的約束。比如,我們在一個用戶表里面可以添加一個唯一約束讓用戶名不重復。
ALTER TABLE `users` ADD CONSTRAINT `unique_username` UNIQUE(`username`);
上面的代碼就是在用戶表中添加一個唯一約束,名稱為`unique_username`,作用在`username`這一列。唯一約束可以在創建表的時候添加,也可以在表創建之后通過ALTER TABLE命令進行添加。
需要注意的是,mysql的唯一約束并不是完全可以為空的,如果你想要讓這個列可以為空,需要在添加唯一約束時添加ON UPDATE SET NULL或ON DELETE SET NULL。
ALTER TABLE `users` ADD CONSTRAINT `unique_username` UNIQUE(`username`) ON UPDATE SET NULL ON DELETE SET NULL;
與唯一約束相類似的是主鍵(primary key)約束,它也可以保證表中某一列(或是多列)中的所有值都不重復,但是主鍵在定義時必須為非空且唯一。
ALTER TABLE `users` ADD CONSTRAINT `pk_user_id` PRIMARY KEY(`user_id`);
通過以上兩種約束可以在MySQL數據庫中輕松地保證表中某一列(或是多列)的數據唯一性,以避免表中重復數據的出現。
上一篇css單頁
下一篇dockerll命令