1.创建表的时候
这里举例创建student表 (id不为空,自增;name不为空;idCard不为空,并且值唯一) CREATE TABLE `t_student` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(18) NOT NULL , `idCard` varchar(18) NOT NULL unique, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=utf8;2.给已经建好的表加上唯一性约束
第一种: mysql语句: ALTER TABLE `t_student` ADD CONSTRAINT unique_taskCode UNIQUE(taskCode); 语句解释: ALTER TABLE <表名称> ADD CONSTRAINT <约束名称> UNIQUE(<约束字段>); 第二种: mysql语句: ALTER TABLE `t_student` MODIFY COLUMN taskCode VARCHAR(20) UNIQUE; 语句解释: ALTER TABLE <表名称> MODIFY COLUMN <约束字段> <约束字段类型> UNIQUE;这里我是给已经建好的表加约束,但是有一个错误提示,如下: 我一直以为是自己的mysql语句错误,找了文档,发现没毛病啊,最后翻译这话,意思是需要建立约束的字段值‘2’存在重复数据,所以如果表中有数据,然后要给某一列加唯一约束需要先把该字段对应的数据查看一遍,确定没有重复数据才可以添加成功;
3.查看表中所有的约束
mysql语句:DESC `t_student`; 语句解释:DESC <表名称>;4.删除约束:
mysql语句:ALTER TABLE `t_student` DROP INDEX taskCode ; 语句解释:ALTER TABLE <表名> DROP INDEX <约束名> ;