在MYSQL中怎样把某字段(已存在)唯一化

如题所述

你用那个图形界面的软件,来加就可以了,应该在索引那一栏里面,自己写语句修改表,弄不好会出错的,还麻烦。
1.建表时加上唯一性约束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(18) NOT NULL unique,
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
2.给已经建好的表加上唯一性约束
ALTER TABLE `t_user` ADD unique(`username`);
我机器上没有数据库,没验证这2个sql,不晓得行不行,大概是这样的吧。

有些人用程序来给数据做约束的,比如约束用户名,
DataSet ds = dao.queryForDataSet(connName,"select * from t_user where username=? and password=?",new Object[]{username,password},0,0,false);
if(ds.size()==1){
//登陆成功
}else if(ds.size()>1){
//冻结此账户,记录错误日志
}else{
//告知用户账号不存在或者密码错误
}
插入用户之前事先查询一下这个用户是否存在,可以用ajax做验证账号是否重复的效果,很多网站都是这么干的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-16
删除重复的数据,可以吗?
然后设置一个唯一索引。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网