关于数据库字段不是主键但是也不能重复的问题解决办法:
1.创建表时设置:
SQL code:
CREATE TABLE `user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增 `name` varchar(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`); -- 联合唯一约束(我的问题是这么解决的,不一定是合理的,如果有高手请指点谢谢!)