旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL怎样保证多字段唯一【MySQL教程】,mysql

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:61评论:0


导读:mysql中有些表偶然需要做一些字段的唯一束缚,固然你也能够在insert前推断有没有的体式格局来防备反复,假如不想分外增添代码来更天真的完成一些字段的唯一束缚,mysql供应了两...
mysql中有些表偶然需要做一些字段的唯一束缚,固然你也能够在insert前推断有没有的体式格局来防备反复,假如不想分外增添代码来更天真的完成一些字段的唯一束缚,mysql供应了两种体式格局:

引荐课程: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网别的相干文章!

标签:mysql


欢迎 发表评论: