在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
删除重复的数据,可以吗?
然后设置一个唯一索引。

在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 (`...

如何在mysql中设置唯一索引
1、首先打开Navicate,连接到数据库,打开表设计页面。2、然后点击切换到索引,打开索引界面。3、设置索引名,按下选择栏,打开栏位页面这里显示的是表的字段,选择要设置唯一索引的字段。4、然后按下索引类型的下拉按钮,选择unique就是唯一索引的意思。5、最后按下索引方式选择btree,按下快捷键Crtl+S...

mysql5,字段怎么设置成‘唯一’
打开phpmyadmin,进入这个表所在的数据库,单击左边表名称,右边出现了你新建立的表,这个表的上方有“结构”,单击进入表的结构,在前边勾选你要设置字段唯一的字段,往右有一个设置唯一的单选按钮(和索引在一块儿),点击一下就可以了 参考资料:php+mysql ...

navicat for mysql 如何设置字段唯一?
在添加或变更表结构时,把id字段设置为整型,下面的选项就会出现auto increment的选择框,勾选中就可以了.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`) ...

在mysql数据库中如何让某个字段有重复的只取一条?
select from table ###where not exists (select * from table ###where # = #and ## < ##)在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的...

MySQL数据表防止重复插入保证数据唯一性mysql不能插入重复的_百度知 ...
1. 数据表设计 在MySQL数据库中,数据表的唯一性通常由一个或多个字段的组合来确定。例如,在用户表中,用户名和邮箱地址应该是唯一的。因此,在数据表设计时,应当考虑这些唯一性约束。MySQL提供了两种方式来实现数据表的唯一性:(1)PRIMARY KEY约束 当一个字段或一组字段被指定为主键时,这些字段的...

navicat for mysql 如何设置字段唯一?
在父表上update\/delete记录时,将子表上匹配记录的列设为null 要注意子表的外键列不能为not null on delete set null从mysql3.23.50开始可用;on update set null从mysql4.0.8开始可用 .no action方式 如果子表中有匹配的记录,则不允许对父表对应候选键进行update\/delete操作 这个是ansi sql-92...

Mysql数据唯一索引与唯一约束以及NULL值案例使用说明
在创建表时,通过`UNIQUE`关键字定义字段为唯一约束,MySQL会自动创建对应唯一索引。同时,如果在创建表时已经定义了某个字段为唯一,再次修改时再次定义为唯一,虽然意义不大但语法上是可以的,再次查询索引时,会看到关于该字段的多个`UNIQUE`定义。复合多字段唯一约束允许指定多个字段组合,确保这些字段组合...

MySQL唯一约束(UNIQUE KEY)
MySQL唯一约束(Unique Key)确保字段值不重复,每条记录的唯一性。例如,对id字段设唯一性约束,所有id值都独一无二,不会重复。若一条id值为'0001',则表内再无其他id值可为'0001'。唯一约束与主键类似,皆确保列的唯一性。但唯一约束在单表内可设多个,且允许列内有空值,但只允许一个空值存在...

MySQL如何创建GUID教你实现自增主键和唯一标识mysql中创建guid_百度知 ...
在CREATE TABLE语句中,我们可以给id字段定义一个默认值UUID(),这样在执行INSERT语句时,id字段的值会自动设置为UUID值,从而实现了唯一标识的功能。总结:在MySQL中,使用GUID实现自增主键和唯一标识非常方便,可以在保证数据唯一性和完整性的同时提高数据访问的效率。在实际使用中,可以根据数据需求选择...

相似回答