zoukankan      html  css  js  c++  java
  • mysql数据库外键的使用,随主表同时更新或删除

    现在有一个图书表,记载了图书信息,图书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=10613 DEFAULT 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=244808 DEFAULT CHARSET=utf8mb4 COMMENT='小说章节表';
  • 相关阅读:
    ROXFiler 2.6
    ubuntu下lxr的运用
    NTFS3G-Linux 的 NTFS 驱动步骤
    Songbird 0.2.5 Final
    ePDFView:一个轻量的 PDF 文档阅读东西
    Gmail Notifier:又一个 Gmail 邮件通知法式
    Hybrid Share-文件分享软件
    Dolphin:KDE 中的文件管理器
    文泉驿点阵宋体 0.8(嬴政)正式公布
    KDE 4 Kludge 发布宣布
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/8573514.html
Copyright © 2011-2022 走看看