导言
上一节提到了MySQL的主键约束,这一节再来讲一讲MySQL的其他约束。本节将针对MySQL的主键约束、唯一约束、默认约束、非空约束进行讲解。
1. 主键约束
主键约束的关键字为PRIMARY KEY,主键约束所约束的是一个列或多个列的组合。被约束的一列或多列具有唯一性,可以通过主键来标识某一行。主键约束遵循以下规则:
- 主键值必须唯一,且不为NULL
- 每个表中只能定义一个主键
- 复合主键需要满足最小化原则,即复合主键不能包含多余的、不必要的列。
如果主键为表中的某一列而非多列,则可以直接用primary key修饰该字段。
CREATE TABLE IF NOT EXISTS emp_primary_key_test (
id INT(11) NOT NULL PRIMARY KEY,
name VARCHAR(50)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
也可以直接用PRIMARY KEY单独指定主键:
CREATE TABLE emp_primary_key_test (
id int(11) NOT NULL,
name varchar(50) DEFAULT NULL,
PRIMARY