引荐课程:MySQL教程。
1.unique key
alter table xx
add unique key no_account(no,collection_account)
2.unique index
alter table xxadd unique no_account_index(no,collection_account);
假设有一个需求是用户给批评点赞,数据库设想是三张表,用户表t_user,批评表t_comment,点赞表t_praise,其中点赞表中有两个外键离别是user_id和comment_id,离别关联用户表的用户id和批评表的批评id,然后划定一个用户只能给统一条批评点赞一次,有一种完成体式格局就是在插进去点赞表之前,先经由过程user_id和comment_id查询是不是有点赞纪录,假如没有的话,再实行插进去操纵,不然返回您已点过赞了.如许完成的话就会多一次数据库查询操纵.更好的完成是,修改点赞表的user_id和comment_id为唯一束缚,即这两列不能同时雷同,如许在实行插进去操纵的话,假如已点过赞了,数据库会抛出违反了唯一键束缚,如许的话,就能够防止多一次数据库查询操纵了.细致设置多列为唯一束缚的语句是:
CREATE TABLE `t_praise` ( `id` int(12) unsigned NOT NULL AUTO_INCREMENT, `comment_id` int(12) NOT NULL, `user_id` int(12) NOT NULL, KEY `FK_t_praise_comment` (`comment_id`), KEY `FK_t_praise_user` (`user_id`), UNIQUE KEY `UK_praise` (`comment_id`,`user_id`) )
以上就是MySQL怎样保证多字段唯一的细致内容,更多请关注ki4网别的相干文章!