在数据记录中我们为保证数据的唯一性,保证用户数据在数据中不出现重复记录。我们需要用到Mysql的主键key,唯一约束。主键约束 PRIMARY KEY一张数据表中只能存在一个主键字段。并且类型必须为数字。可是设为float类型,但小数点值必须为0和传入此字段的重复值。它可以很好保证我们记录的唯一性,主键字段自动为NOT NULL现在,我们来创建一张新的数据表tb3,并设定一个主键字段CREATE TABLE tb3( id SMALLINT UNSIGNED PRIMARY KEY, name VARCHAR(20), sex ENUM(‘1’,‘2’,‘3’) DEFAULT ‘3’ );创建数据表成功,现在我们来插入两段用户数据。INSERT tb3 VALUES(5,‘大毛’,‘1’);INSERT tb3 VALUES(10,‘小李’,‘1’);输出记录SELECT * FROM tb3;可以看到我们刚刚的记录插入成功了,现在我们来入id值5的记录看看会怎么样INSERT tb3 VALUES(5,‘小明’,‘2’);mysql报错:主键以存在重复的‘5’值,所以刚刚插入记录失败了。主键保证了我们数据的唯一性。自动编号AUTO_INCREMENT每一次都要手动为主键赋值非常不方便,而且当我们数据表中的数据非常多的时候,我们就很容易插入重复的主键值容易引发错误。所以我们这里就要用到自动编号AUTO_INCREMENT来为我们的主键字段进行自动编号赋值了。自动编号,必须与主键组合使用默认情况下,起始为1,每次的增量为1下面我们来创建多一个数据表tb4CREATE TABLE tb4( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), sex ENUM(‘1’,‘2’,‘3’) DEFAULT ‘3’ );数据表创建成功,现在我们来连续插入三段数据。然后把记录打印出来看看主键值INSERT tb4(name,sex) VALUES(‘小丽’,‘2’);INSERT tb4(name,sex) VALUES(‘大理’,‘1’);INSERT tb4(name,sex) VALUES(‘小明同学’,‘1’);SELECT * FROM tb4;可以看到主键值已经自动编号1~3了。唯一约束 UNIQUE KEY唯一约束性在一个数据表中可以存在多个字段,但是每个字段值中的集合不能出现重复值,并且可为NULL。就好像我们网站中的用户名一样。现在我们来创建一张新的数据表ta5CREATE TABLE ta5( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, usename VARCHAR(20) NOT NULL UNIQUE KEY, ega TINYINT UNSIGNED);插入两断用户数据INSERT ta5(usename,ega) VALUES(‘小明’,22);INSERT ta5(usename,ega) VALUES(‘小明’,20);可以看到mysql报错usename字段已经存在小明字段。所以usename已经是具有唯一约束性的字段。