唯一约束(十五)

  那么,我们想哈。除了主键能保证记录的唯一性,那么,还有没有其他能保证主键的唯一性呢?答:还有唯一约束。

唯一约束

  (1)唯一约束UNIQUE KEY

  (2)唯一约束可以保证记录的唯一性

  (3)唯一约束的字段可以为空值(NULL)

  (4)每张数据表可以存在多个唯一约束

 

 

 

 

 

 

唯一约束的字段可以为空值(NULL),这句话怎么理解呢?

  答:假设一张数据表有两条或两条以上的记录,则该字段都为空。

  如果都为空的话,则值也是相同的。而值相同的话,又和保证记录的唯一性相背离。

 

 

 

 

 

 

唯一约束与主键的区别:

  (1)主键,一张表里,只能有一个。

    而,唯一约束,一张表里,可以有多个。

   (2)在创建索引时,也是有区别;(在后续讲)

 

 

 

 

 

create table tb5(
id smallint unsigned auto_increment primary key,
username varchar(30) not null unique key,
age tinyint unsigned
);



show columns from tb5;

    注意:主键约束,一张表只能有一个,而唯一约束一张表可以有多个。

 

 

 

 

 

  注意:因为id是自动会赋值,所以,我们只需对username和age进行赋值即可。

insert tb5(username,age) values('zhaosi',42);



insert tb5(username,age) values('zhaosi',42);
原文地址:https://www.cnblogs.com/zlslch/p/6534692.html