【MySQL】随手笔记(积跬步至千里)

 一、常用函数

(1)uuid()

select uuid(); //生成随机数
select replace(uuid(),'-','');   //将随机数的-去掉
select upper(replace(uuid(),'-',''));  ///改成大写

应用举例:

(1)非自增主键

 非自增主键,insert语句的value中必须要有这个主键,下面的例子主键是id

 Mapper.xml

<insert id="insertTemplateContractInfo" parameterType="com.bocsoft.cmis.e20200.cmis02.dal.entity.contract.model.TemplateContractInfo">
   <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
   SELECT UPPER(REPLACE(UUID(),'-',''))
 </selectKey>
    insert into template_info(id,order_Id,template_id,rec_id,template_type,template_name,template_attachment_id,business_type,start_time,post_no,status,list_no,LINE,isGuarantee,apply_business_name,post_file_id,attachment_id)
    values(#{id},#{orderId},#{templateContractId},#{recId},
    <if test="templateType == ''">null</if>
 <if test="templateType != ''">#{templateType}</if>
    ,#{templateName},#{template_attachment_id},
    <if test="businessType == ''">null</if>
 <if test="businessType != ''">#{businessType}</if>
    ,#{startTime},#{postNo},#{status},#{listNo},#{line},#{isGuarantee},#{applyBusinessName},#{postFileId},#{attachment_id})
  </insert>

 (2)自增主键

自增主键, insert语句的value中不需要有这个主键,因为本来就是自增的,会自动生成+1,下面的例子主键是law_id,value中没有写law_id,不需要

Mapper.xml

<insert id="insertLawAdStatisDetail" parameterType="java.util.Map">
  <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="lawNo">
   select last_insert_id()
  </selectKey>
  insert into lawad_statis_detail(rec_id,branch1_id,SIGN_OUT_DATE) values(#{recId},#{branch1Id},#{date})
 </insert>

 

(2) last_insert_id()

一般我们在创建表时,表的主键(id),都会设置为 primary key 和 auto_increment。这样我们在 insert 数据时可以不用指定 id,MySQL 会自动根据上一条的 id,使本次 insert 的数据 id 自增 1。

如果我们在数据库新插入一条数据并且想立即操作 ta(这时想要知道 ta 的 id)。

MySQL 为我们提供了以下方法(只适用于自增主键)

//获取当前执行的最后一个insert语句的自增ID
select last_insert_id();

应用:

可以取得自增主键的值,省去添加完数据还要重新查询一次Id值的麻烦

ServiceImpl.java

Map detailMap = new HashMap();
   detailMap.put("recId",basicInfo.getRecId());
   // todo 不从session获取一级行,待确定
   //detailMap.put("branch1Id", UserUtil.getUser(session).getBranch1());
   detailMap.put("branch1Id", user.get(0).getBranch1());
   detailMap.put("date",signoutDate);
   lawADDao.insertLawAdStatisDetail(detailMap);

   int lawNo = Integer.parseInt(detailMap.get("lawNo") + "");

 

 Mapper.xml

<insert id="insertLawAdStatisDetail" parameterType="java.util.Map">
  <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="lawNo">
   select last_insert_id()
  </selectKey>
  insert into lawad_statis_detail(rec_id,branch1_id,SIGN_OUT_DATE) values(#{recId},#{branch1Id},#{date})
 </insert>

二、SQL基础

1、建表

CREATE TABLE `test_detail` (
  `REC_ID` VARCHAR(32) NOT NULL COMMENT '记录id',
  `LAW_NO` INT NOT NULL AUTO_INCREMENT,
  `BRANCH1_ID` VARCHAR(5) DEFAULT NULL COMMENT '一级机构号',
  `SIGN_OUT_DATE` DATETIME DEFAULT NULL COMMENT '签发时间',
  PRIMARY KEY (`LAW_NO`) USING BTREE,
  UNIQUE KEY `REC_ID` (`REC_ID`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=6791 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='意见发文号详情'

 

2、备份表

CREATE TABLE test1_20231115 LIKE test1;
INSERT INTO test1_20231115 SELECT * FROM test1;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/148606.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

优化奥德赛:揭开训练人工神经网络的本质

一、介绍 近年来&#xff0c;人工智能领域取得了显著的进步&#xff0c;而这场革命的核心是训练人工神经网络 &#xff08;ANN&#xff09; 的复杂过程。这些网络受到人脑的启发&#xff0c;能够从数据中学习复杂的模式和表示。人工神经网络成功的核心是认识到训练它们从根本上…

Blackmagic Design DaVinci Resolve Studio18(达芬奇调色剪辑)mac/win中文版

在影视制作领域&#xff0c;调色和剪辑是至关重要的环节&#xff0c;它们直接决定了作品的观感和质量。而Blackmagic Design DaVinci Resolve Studio18&#xff08;达芬奇调色剪辑&#xff09;作为业界领先的专业调色剪辑软件&#xff0c;以其出色的性能和强大的功能&#xff0…

【Python】operator模块

Python中operator模块提供了一套与 Python 的内置运算符对应的高效率函数。 不仅对应内置运算符&#xff0c;还可以获取方法。可优化涉及回调函数的运算性能&#xff0c;比lambda、Python函数的开销小、速度快。 import operator[x for x in dir(operator) if not x.startswi…

【Linux】-文件系统的详解以及软硬链接

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

实现高值医疗耗材智能化管理的RFID医疗柜解决方案

一、行业背景 医疗物资管理面临着一系列问题&#xff0c;如高值耗材种类激增导致准入标准弱化、信息追踪困难、管理责任不明确等&#xff0c;医院内部设备、财务和临床科室相互独立&#xff0c;兼容性不佳&#xff0c;高值耗材储备不足&#xff0c;缺乏合理的预警机制&#xf…

卡尔曼家族从零解剖-(06) 一维卡尔曼滤波编程(c++)实践、透彻理解公式结果

讲解关于slam一系列文章汇总链接:史上最全slam从零开始&#xff0c;针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解&#xff1a;https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…

go语言学习之旅之go语言基础语法

学无止境&#xff0c;今天学习go语言的基础语法 行分隔符 在 Go 程序中&#xff0c;一行代表一个语句结束。没有结束符号 注释 注释不会被编译&#xff0c;每一个包应该有相关注释。 单行注释是最常见的注释形式&#xff0c;你可以在任何地方使用以 // 开头的单行注释。多…

淘宝账单导出的手工操作

文章目录 淘宝账单导出的手工操作概述笔记END 淘宝账单导出的手工操作 概述 日常的支付(JD, 淘宝, 1688), 最终都是用微信和支付宝来支付. 微信和支付宝是绑定的自己银行卡. JD绑定的也是自己的银行卡. 微信账单的导出, 已经记录了, 好使. 现在记录一下支付宝账单(只要是阿…

Jetson orin部署大模型示例教程

一、LLM介绍 LLM指的是Large Language Model&#xff08;大型语言模型&#xff09;&#xff0c;是一类基于深度学习的自然语言处理技术&#xff0c;其主要目的是让机器能够更好地理解和生成人类的自然语言文本&#xff0c;如文章、对话、搜索等。 教程 - text-generation-web…

类加载器(classloader)

作者&#xff1a;ZeaTalk 链接&#xff1a;https://www.zhihu.com/question/49667892/answer/690161827 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 类加载器&#xff08;classloader&#xff09; 先从类加载器…

如何使用AO交易和保护头寸,澳福3个指标轻松搞定

进入市场的第二个重要信号是基于投资者已经熟悉的令人敬畏的振荡器&#xff0c;称为AO。其工作原理类似于著名的MACD指示器&#xff0c;衡量市场的即时势头。它是一个5日均线减去34日均线。该指示器以红色和绿色柱状图的形式呈现&#xff0c;绿色柱状图表示市场势头向上&#x…

【Docker安装】windows系统安装docker

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、下载exe安装文件二、选择虚拟方式1.wsl2方式2.Hyper-V 三、启动docker Engine 守护进程1.启动docker 服务2.初始化守护进程 四、设置…

SpringBoot和Spring源码下载

1.下载&#xff1a;在一个空的干净地创建一个文件夹叫springsourcecode&#xff0c;其实叫什么都行的。 git clone https://github.com/spring-projects/spring-framework.git 2.JDK要和gradle匹配 我们要21的&#xff0c;今天为止2023年11月13日&#xff0c;idea是2023.2。 …

海报设计必备!五个免费网站分享,让你的创意得以充分展现!

海报作为一种重要的宣传工具&#xff0c;在各种场合得到了广泛的应用。然而&#xff0c;对许多人来说&#xff0c;制作一张漂亮的海报并不容易。幸运的是&#xff0c;有许多免费的海报制作网站可以帮助人们轻松地制作出漂亮的海报。本文将分享五个优秀的免费海报制作网站。 1.…

Power Apps-使用power Automate流

创建&#xff1a;Power Automate-创建power Apps使用的流-CSDN博客 打开Power Apps&#xff0c;创建页面&#xff0c;添加三个输入框&#xff08;分别是换算前单位、换算后单位、货币数&#xff09;&#xff0c;和一个文本框&#xff08;输出结果&#xff09;以及一个按钮 在…

天软特色因子看板 (2023.11 第10期)

该因子看板跟踪天软特色因子A05006(近一月单笔流入流出金额之比(%)该因子为近一个月单笔流入流出金额之比(%)均值因子&#xff0c;用以刻画 市场日内分时成交中流入、流出成交金额的差异性特点&#xff0c;发掘市场主力资金的作用机制。 今日为该因子跟踪第10期&#xff0c;跟踪…

qtcreator中其他控件的使用

scroll area 是 Tool Box是 tabwidget是网页 这三个可以用进行连接 用按钮实现切换 combo box的使用 使用label添加图片动图

Postman接口Mock Servier服务器

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 应用场景&#xff1a;后端的接口还没有开发完成&#xff0c;前端的业务需要调用后端的接口&#xff0c;可以使用mock模拟。 一…

csrf学习笔记总结

跨站请求伪造csrf csrf概述 掌握CSRF 漏洞原理 掌握CSRF 漏洞场景 掌握CSRF 漏洞验证 csrf原理 ​ 跨站请求伪造&#xff08;Cross Site Request Forgery&#xff0c;CSRF&#xff09;是一种攻击&#xff0c;它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程…

基于安卓android微信小程序的食谱大全系统

项目介绍 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对食谱大全进行需求分析&#xff0c;得出食谱大全主要功能。接着对食谱大全进行总体设计和详细设计。总体设…