1.外键
MySQL
支持外键(允许跨表交叉引用相关数据)和外键约束(有助于保持相关数据的一致
性)。
外键关系涉及一个包含初始列值的父表,以及一个包含引用父列值的列值的子表。在子表上定
义了外键约束。
1.1.定义父表
定义一个parent表,内有id(int),主键为id
CREATE TABLE parent (id INT NOT NULL,PRIMARY KEY (id));
添加数据
insert into parent values(1);
1.2.添加子表
CREATE TABLE child (id INT,parent_id INT,FOREIGN KEY (parent_id) 约束字段parent_idREFERENCES parent(id) 参考 parent表中的id);
添加数据
如果我们添加一个id=2,parent_id=2,行不行?
这是不行的
必须要在parent中添加id=2才能添加成功
并且在父表中是无法删除已经约束数据
1.3.同步
CREATE TABLE child (id INT,parent_id INT,INDEX par_ind (parent_id),FOREIGN KEY (parent_id)REFERENCES parent(id)ON UPDATE CASCADE 同步更新ON DELETE CASCADE 同步删除);
添加数据
INSERT INTO child (id,parent_id) VALUES(1,1),(2,1),(3,1);
修改parent
同步删除
2.自增
CREATE TABLE animals (id MEDIUMINT NOT NULL AUTO_INCREMENT,#这是递增name CHAR(30) NOT NULL,PRIMARY KEY (id));
添加数据
insert into animals (name) values ('dog'),('cat'),('lax');
并且他会从最高位开始递增