mysql数据库外键的使⽤,随主表同时更新或删除foreign key references用法
现在有⼀个图书表,记载了图书信息,图书id为nh_id,
要求有⼀个图书章节表,按章节记载图书的具体信息,外键nh_id对应图书表的nh_id,同时要求如果图书表id改变,对应的章节表的外键也改变,如果图书删除,该书对应的章节也⼀并删除
添加外键约束为
CONSTRAINT `nh_chapter-nh` FOREIGN KEY (`nh_id`) REFERENCES `nh` (`nh_id`) ON DELETE CASCADE ON UPDATE CASCADE
其中
CONSTRAINT `nh_chapter-nh` FOREIGN KEY (`nh_id`) REFERENCES `nh` (`nh_id`)
为建⽴外键
ON DELETE CASCADE ON UPDATE CASCADE
为⼀并删除或更新
完整参考
CREATE TABLE `nh` (
`nh_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '⼩说编号',
`type` tinyint(2) unsigned NOT NULL COMMENT '类型',
`sex` tinyint(1) unsigned NOT NULL COMMENT '性别[1男2⼥]',
`name` varchar(100) NOT NULL COMMENT '名称',
`intro` varchar(1500) NOT NULL COMMENT '简介',
`words` varchar(10) NOT NULL COMMENT '字数',
`author` varchar(30) NOT NULL COMMENT '作者',PRIMARY KEY (`nh_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10613DEFAULT CHARSET=utf8mb4 COMMENT='⼩说表';
CREATE TABLE `nh_chapter` (
`chapter_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '章节编号',
`index` int(10) unsigned NOT NULL COMMENT '章节编号',
`nh_id` int(10) unsigned NOT NULL COMMENT '⼩说编号',
`title` varchar(100) NOT NULL COMMENT '标题',
`total` int(10) unsigned NOT NULL COMMENT '章节字数',
`content` mediumtext NOT NULL COMMENT '章节内容',
PRIMARY KEY (`chapter_id`),KEY `nh_id` (`nh_id`),
CONSTRAINT `nh_chapter-nh` FOREIGN KEY (`nh_id`) REFERENCES `nh` (`nh_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=244808DEFAULT CHARSET=utf8mb4 COMMENT='⼩说章节表';

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。