CREATE TABLE tb_month_report_chapter_main(

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`record_month` char(7) NOT NULL ,

`customer_id` int(11) NOT NULL,

PRIMARY KEY(`id`),

UNIQUE KEY `record_month` (`record_month`, `customer_id`) #创建了联合唯一约束 当月份和用户id有重复时会报错

);

CREATE TABLE tb_month_report_chapter_main(

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`record_month` char(7) NOT NULL ,

`customer_id` int(11) NOT NULL,

PRIMARY KEY(`id`),

UNIQUE KEY `record_month` (`record_month`, `customer_id`)

);

CREATE TABLE tb_month_report_chapter_text(

`id` INTEGER(11) AUTO_INCREMENT NOT NULL PRIMARY KEY,

`main_id` INTEGER(11),

`chapter` VARCHAR(10) NOT NULL,

`text_type` VARCHAR(10) NOT NULL,

`text_content` VARCHAR(255) DEFAULT NULL,

FOREIGN KEY(`main_id`) REFERENCES tb_month_report_chapter_main(id) ON DELETE CASCADE ON UPDATE CASCADE

);

CREATE TABLE tb_month_report_chapter_img(

`id` INTEGER(11) AUTO_INCREMENT NOT NULL PRIMARY KEY,

`main_id` INTEGER(11),

`chapter` VARCHAR(10) NOT NULL,

`img_type` VARCHAR(10) NOT NULL,

`img` LONGBLOB DEFAULT NULL,

FOREIGN KEY(`main_id`) REFERENCES tb_month_report_chapter_main(id) ON DELETE CASCADE ON UPDATE CASCADE

);

这个表的关系,通过 主表的唯一标识, 月份和用户Id确定唯一,而文字和图片保存在另外两个表。

mysql联合唯一_MYSQl 联合唯一约束 根据两个字段 唯一相关推荐

  1. mysql 联合索引 唯一_mysql 联合索引和唯一索引

    一般来说.如果有where a=? and b=? and c=? 的语句. 如果表也有DML, 我一般只在a 上建索引.  这也是代价平衡的结果. 一方面 只在a 上建索引那么是 index ran ...

  2. mysql的联合索引_mysql联合索引

    联合索引 概念 联合索引又叫复合索引,即一个覆盖表中两列或者以上的索引,例如: index_name(column a,column b) 1 创建方式 执行alter table语句时创建 alte ...

  3. php mysql 非空_MySQL非空约束(NOT NULL)

    MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空 ...

  4. mysql的联合索引_mysql联合索引详解

    联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...

  5. mysql union 作用_Mysql联合查询UNION和UNION ALL的使用介绍

    Mysql联合查询UNION和UNION ALL的使用介绍 一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行. UNIO ...

  6. mysql 复合索引_mysql联合索引(复合索引)详解

    联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...

  7. Mysql union联合查询_Mysql联合查询union和union all的使用介绍

    一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行.UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥 ...

  8. mysql外键_MySQL外键约束(FOREIGN KEY)

    MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用.对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表). 外键用 ...

  9. mysql拼接数组_Mysql合并结果接横向拼接字段的实现步骤

    前言 近日在做一个报表功能里面有一个这样的需求是统计各部门在某一月入职和离职的人数 我的步骤 先查出入职的人数 SELECT dept ,COUNT(1) rcNumber FROM 员工表 WHER ...

最新文章

  1. html div坐标定位,html div位置和显示
  2. HTML用cookie实现自动登录,用cookie实现websocket自动登录,session状态保留。
  3. thinkphp如何一次性的上传多个文件,在文件域中可以多选?
  4. 推荐一款IDE开发工具插件GitToolBox
  5. 人行联网核查更新_又一批新职业公布,学互联网技术,等于站在就业“风口”...
  6. 基于VC的OPC客户端软件研究与实现
  7. 广东计算机应用基础试题及答案2019,2019年计算机应用基础试题库及答案.pdf
  8. 如何设置多个图层层叠关系_如何玩转 XMind 中的多种思维结构?
  9. hdu 确定比赛名次
  10. 信息学奥赛C++语言: 奶牛乘法
  11. 程序员如何在未来之路寻找自己的“龙椅”
  12. day01 --环境搭建 注册 表单校验
  13. C# string转DateTime DateTime转string
  14. 【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
  15. Cisco 模拟器实现NAT案例
  16. 电脑玩CF、DNF、LOL等游戏掉帧.卡顿.黑屏怎么办?驱动人生十大游戏检测图文教程
  17. Word——加了项目符号后,第二行就与第一行对不齐的一种解决方法
  18. java导出excel下载后文件损坏无法修复
  19. ios html 编码转换,IOS中编码转换方法(转)
  20. 自学Python 64 使用Python语言收发电子邮件

热门文章

  1. pmos低电平驱动_MOS管驱动电路总结
  2. NXP RT1064学习笔记(六)— RTC
  3. Python机器学习基础
  4. Web前端开发学习(一)
  5. Web前端-Ajax-01
  6. 计算机操作实训总结,计算机操作系统安全实训心得总结.doc
  7. 如何成为一名出色SEO从业人员
  8. 无人机3d可视化系统的应用是怎样实现的?
  9. assertThat详解
  10. ThinkPad T460P Ubuntu14.04安装无线网卡驱动方法