mysql 外键 foreign key 一对一 一对多 多对多 约束

-- 创建书名表 CREATE TABLE tb_books(    id int primary key auto_increment,    name varchar(24) not null comment 书籍名称,    isbn varchar(15) not null comment 编号  );  -- 插入书名 INSERT INTO tb_books(name, isbn)  values (梦里花落知多少, '9787102832855'),  (盗墓笔记, '9787102885255'),  (我不, '9787102859865'),  (你猜, '9787102896745');  -- 创建作者表 CREATE TABLE tb_author(    id int primary key auto_increment,    name varchar(12) not null comment 作者 );  -- 插入作者 INSERT INTO tb_author(name) values (三毛),  (南派三叔),  (大冰);  -- 创建关系表 CREATE TABLE tb_book_author(    id int primary key auto_increment,    book_id int, author_id int,    foreign key(book_id) references tb_books(id)   ON update cascade   ON DELETE cascade,    foreign key(author_id) references tb_author(id)   ON DELETE cascade   ON update cascade );  -- 插入关系 insert into tb_book_author(book_id, author_id) values(1, 1), (2, 2), (3, 3), (4, 3);

 

上面仅仅演示了 多对多的情况, 无非就是通过中间表来绑定双方的关系

 

 

一对一, 一对多, 只需要在使用率较高的一张表上 创建外键 并使用 unique 即可