MySQL
Vicolen.Hao
天下风云出我辈,一入江湖岁月催。
展开
-
MyBatis如何实现数据库关键字作为表字段的更新
最近需要操作别人的一张表,该表直接将MySQL的关键字作为表字段,使用MyBatis插入数据时一直报错。开始一直以为是SQL语句的问题,后来排查到原来是使用了MySQL关键字作为字段,导致更新出错。神奇的是,别人更新这张表一点问题都没有(最后才发现他自己都不使用这个字段)解决这个问题很简单,使用MyBatis更新数据库关键字作为表字段的字段时,只需要在改字段上加上一个反引号即可,记住是反引号,反引号。...原创 2020-09-05 11:53:21 · 1165 阅读 · 0 评论 -
Java实现导出MySQL为文本(.sql结尾),并将其压缩(.zip结尾)
MySQL数据库是一种比较昂贵的资源原创 2020-05-19 22:30:58 · 1013 阅读 · 3 评论 -
Spring/SpringBoot事务详细介绍
事务简介 事务管理是企业开发,或是多增删改操作当中必不可少的技术,主要用来保证数据的一致性,例如,在一个接口中,一次执行A(增)、B(删)、C(改)三个操作,当执行完AB操作之后突然出现了异常,导致C无法继续操作,即AB操作成功,C没有成功。此时,事务管理派上了用场,它可以保证ABC三个操作,要么都成功,要么都不成功。只有这么两个结果。事务的四大特性 事务有四大特性(ACID )原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败。成功则所有的数据库操作都生效原创 2020-05-18 22:59:52 · 3775 阅读 · 5 评论 -
MySQL为表追加创建时间和更新时间,并指定时间的位数(到毫秒)
MySQL追加创建时间和更新时间,并指定时间的位数(到毫秒)##创建时间,直接默认格式ALTER TABLE test ADD COLUMN `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';##更新时间,精确到毫秒ALTER TABLE test ADD COLUMN `gmt_modifi...原创 2020-05-08 11:17:06 · 954 阅读 · 0 评论 -
MyBatis/MySQL查询时实现按照IN里面字段的顺序排序
在进行MySQL查询时,遇到一个问题:查询出来的字段的顺序需要按照IN里面值的顺序进行排序。SELECT * FROM test WHERE space_id IN ( 651877011734764416, 737560066717227904, 738885949361068928 ) 注意图中IN后面的顺序和查询出来的结果的顺序。如果WHERE后面没有ORDER BY字段...原创 2019-11-06 19:46:59 · 2608 阅读 · 1 评论 -
Mybatis如何实现高效批量多值更新
本文在SpringBoot集成MyBaits的情境下,实现高效批量更新。原创 2019-10-21 19:57:59 · 1714 阅读 · 3 评论 -
获取父子关系链路的两种SQL写法:记一次优化FIND_IN_SET函数记录
在一次项目开发过程中,遇到了从数据库中获取父子关系链路的问题,当时使用了FIND_IN_SET函数去解决这个问题,解决函数如下:DELIMITER $$DROP FUNCTION IF EXISTS getParentList$$CREATE FUNCTION `getParentList`(rootId BIGINT) RETURNS varchar(1000) CHARSET ...原创 2019-07-30 20:47:17 · 675 阅读 · 0 评论 -
MySQL实现从记忆位置自增编号
在一个会员(memberId)中,每位成员(userId)新建一个或多个文档或者文件夹之类的需要一个code(例如T0001,在会员中不重复,会员间可以重复),并且是一直往后递增的,即使使用T0001的用户被注销了,该编号也不会再次被分配,而是从最大的那一个编号继续往后分配。首先,我们需要用一个整型来记录编码的最后一位,用其他类型的肯定不会存在递增这种模式。其次,在整型数前面补充0和其他标记...原创 2019-08-19 20:45:36 · 568 阅读 · 0 评论 -
MySQL查询时,ORDER BY 后面根据时间(TIMESTAMP)排序并做翻页(LIMIT)处理经常出现顺序紊乱和导致前后页的数据重复问题调查及解决
ORDER BY后面谨慎使用时间排序问题展示修正结果原因详查个人建议官方文档问题展示 在执行获取评论列表、留言列表等诸多操作时,都需要将从数据库中查出的结果按照时间做倒排处理和翻页处理。同一时间点(例如1s内),若包含的结果数量过多,将不可避免的出现前后页结果重复的问题。例如:执行下面sql,其中id为主键,gmt_create为创建时间。SELECT id, gmt_create ...原创 2019-09-20 23:29:28 · 12562 阅读 · 0 评论