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. 【2006-1】【字符统计】
  2. Photoshop脚本 使用ExtendScript编写Ps脚本
  3. 遗传算法经典实例代码_经典算法研究系列 之 深入浅出遗传算法
  4. matlab figure被图像填充
  5. 操作系统之进程管理:7、进程同步、进程互斥
  6. ac86u原厂固件去广告_苹果发布最新固件IOS12.3.2,估计不修正你的手机
  7. webpack的五个核心概念---webpack工作笔记002
  8. Codeforces Round #493 (Div. 2):C. Convert to Ones
  9. Vue packages version mismatch: 版本冲突;Error: EPERM: operation not permitted
  10. RunLoop相关知识
  11. 如何让百度云里的资源不被和谐掉?
  12. C++使用ODBC连接数据库遇到的问题
  13. object-c 字符串 c语言字符,Objective-C中字符串的拼接方法小结
  14. 如何做一个被领导喜欢的实施顾问
  15. Torts and Personal Injury
  16. java 日期 中文_JAVA的时间类型转换为中文大写方法
  17. 蓝桥杯算法--计算纪念日
  18. android 虚拟键 高度,Android获取虚拟按键的高度(适配全面屏)
  19. php完美导出word,php导出生成word的方法
  20. 三大微分中值定理与两大积分中值定理

热门文章

  1. 软件工程团队队名_软件工程团队负责人的角色是什么
  2. SaltStack技术入门与实践
  3. 【PTA】到底是不是太胖了
  4. 3GPP TS 23501-g51 中英文对照 | 4.4.2 SMS over NAS
  5. 浏览器免费安装ChatGPT插件与国内免费ChatGPT分享
  6. vs2022创建窗口应用程序
  7. 【01】花卉识别-基于tensorflow2.3实现
  8. linux——dmidecode
  9. 几种mos管驱动电路
  10. 企业级监控系统概述、监控类型及发展趋势