MySQL数据库字段唯一性设置
命令行操作
分为两种。一种是在建表时就想好要加上唯一性,另一种是在后期才发现需要设置唯一性。
建表时:
CREATE TABLE `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=1 DEFAULT CHARSET=gbk;
后期:
ALTER TABLE ·t_user· ADD unique(`username`)
注意:user和username两端的符号并不是引号,而是键盘上tab上方,数字键1旁边的那个按键输入的符号(不同键盘可能略有不同,一般都在左上角)。
navicat方式
使用navicat操作mysql数据库更加方便,推荐大家多多使用这种方式 设计表时:如图选择索引(index),第一项‘名’,随便自己起一个有意义的名字就行了。第二项是你要设置唯一性的字段,然后索引类型选择unique。
可能遇到的错误:
如果唯一性是后期加的(设计完表之后,并且表里已经有了一些数据) 可能存在表中部分数据不满足唯一性的情况,例:想对字段sid设置唯一性,但目前表中有两条数据sid都是472,这是设置唯一性就会出错。 如下图所示(这种情况在命令行操作下也会出现,只不过是以文字的形式)
navicat则会返回1062错误代码