mySQL再学习之约束条件

时间:2022-09-21 12:11:21

PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK) 标识该字段为该表的外键
NOT NULL 标识该字段不能为空
UNIQUE KEY (UK) 标识该字段的值是唯一的
AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT 为该字段设置默认值

UNSIGNED 无符号
ZEROFILL 使用0填充

主键

primary key:唯一标识一条记录,非空(not null)且唯一(unique)。

外键

foreign key:一个 表的外键是另一个表的主键,可以体现出多对一的关系。
1. 必须先创建被关联的表,然后创建要关联的表
2. 如果要想修改关联的表,那么需要加约束条件:

on delete cascade(串联)
on update cascade

唯一

unique key:唯一性约束。

unique(id0,id1)联合唯一:要把id0,id1两者看成一个整体,任何一个字段变,都是不唯一的!

auto_increment

自增

设置偏移量

方式一:

mySQL再学习之约束条件

方式二:

mySQL再学习之约束条件

在table 外面的数据比如auto_increment,charset 等不需要加modify直接可以赋值修改。

查看修改:

设置步长

会话级别

set session auto_increment_increment=2;

show session variables like ‘auto_in%’;
show variables like ‘auto_in%’;#两者都行

全局级别

set global auto_increment_increment=2;
查看修改:
show global variables like ‘auto_in%’;

两者都设置

set session auto_increment_offset=2;
set session auto_increment_increment=5;

If the value of auto_increment_offset is greater than that of auto_increment_increment, the value of auto_increment_offset is ignored.

not null

非空

default

默认值

unsigned

无符号的,指全是正数,没有负数。

zerofill

零填充。

not null default ‘888888’:not null 和default两者一般合用~

PS:
设置会话级别的偏移量步长只需要退出重新登录即可,而修改全局级别的偏移量和步长需要重启服务才能生效~坑!!!