测试那点事儿-TestYao

关于数据库字段不是主键但是也不能重复的问题解决办法?

关于数据库字段不是主键但是也不能重复的问题解决办法:

1.创建表时设置:

SQL code:
 
CREATE TABLE `user` (
      `Id` int(11) NOT NULL AUTO_INCREMENT,  -- 自增
      `namevarchar(50) NOT NULL unique,  -- 唯一性约束          (如果是单个字段不可重复,可以用唯一主键)
      `phone` varchar(18) NOT NULL,  
      `mail` varchar(18) NOT NULL,  
       UNIQUE KEY (`phone`,`mail`), -- 联合唯一性约束         (如果是两个字段都不可重复,可以用联合唯一主键)
       PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 唯一约束
ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 联合唯一约束


2.创建表之后设置:

SQL code:
 
ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 唯一约束
ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 联合唯一约束

 

(我的问题是这么解决的,不一定是合理的,如果有高手请指点谢谢!)

posted @ 2017-03-09 11:23  测试那点事儿_TestYao  阅读(930)  评论(0编辑  收藏  举报