数据库MySQL之主键约束、唯一约束是什么?
1. 主键约束
- 主键可以写为PRIMARY KEY,也可以写成KEY
- 每张数据表只能存在一个主键
- 主键保证记录的唯一性
- 主键自动为NOT NULL,也就是说必须要为主键赋值。但如果主键选择了AUTO_INCREMENT,那么不需要手动赋值。
- auto_increment必须和主键primary key一起使用,但是主键primary key不一定要和auto_increment一块使用
注:主键的字段是可以赋值的,但不能赋相同的值
2. 唯一约束
2.1 UNIQUE KEY
(1)唯一约束
(2)唯一约束可以保证记录的唯一性
(3)唯一约束的字段可以为空值(NULL)
(4)每张数据表可以存在多个唯一约束
示例:
CREATE TABLE tb6(
id SMALLINT UNSIGED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
sex ENUM('1','2','3') DEFAULT '3',) //表示当sex没有赋值时,默认值为3