![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MYSQL
文章平均质量分 53
fo3hd
#走出舒适圈,勇于探索未知#
展开
-
mysql试用timestampadd加10年变为0诡异问题
需求有一个场景,对某个功能续期,用的是mysql,为了方便就直接在sql语句使用timestampadd方法来实现。我的sql是这样写的:UPDATE COM_CropSET SYS_VERSION = SYS_VERSION + 1,EXPIRE_DATE = ( UNIX_TIMESTAMP( TIMESTAMPADD( YEAR,10, FROM_UNIXTIME( EXPDATE...原创 2019-03-21 18:59:44 · 555 阅读 · 0 评论 -
MYSQL虚拟列
ALTER TABLE ota_deviceADD COLUMN client_sv VARCHAR(50) AS (json_unquote(json_extract(attributes,’$.client.sv’))) VIRTUAL;原创 2020-04-21 19:13:29 · 264 阅读 · 0 评论 -
MYSQL行转列例子
SELECTperson_id id,max( CASE sex WHEN ‘男’ THEN ff.NAME END ) name1,max( CASE sex WHEN ‘男’ THEN ff.sex END ) sex1,max( CASE sex WHEN ‘女’ THEN ff.NAME END ) name2,max( CASE sex WHEN ‘女’ THEN ff.sex...原创 2020-04-21 19:14:51 · 193 阅读 · 0 评论 -
mysql间隙锁导致java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
MySQL事务隔离级别是Repeatable Read (RR),RR隔离级别保证对读取到的记录加锁(记录锁),同时在本记录与上一条记录,和本记录和下一条记录之间加锁(间隙锁),新的满足查询条件的记录不能够插入。间隙锁只会block住insert操作下面以一个例子说明间隙锁导致insert插入失败:import org.junit.Before;import org.junit.Te...原创 2018-06-11 11:05:09 · 3449 阅读 · 0 评论 -
Mysql使用union all统计多张表组合总数,并分别统计各表数量
select count(distinct(vehicleId)) as ‘总数’,count(distinct(case when flag = ‘t2’ then vehicleId end)) as ‘表2数量’from(SELECT ‘t1’ as flag, cf.vehicle_id as vehicleId FROM ota_campaign_feedback cf WHER...原创 2019-07-25 15:04:22 · 5443 阅读 · 1 评论 -
mysql insert 时出现Deadlock死锁场景分析
案例一:有一张表A,先更新,如果影响行数为0,则执行INSERT插入数据。很常见的场景,在生产上也跑了很久,没有出现什么问题。但是有一次在测试环境做压测时居然出现了死锁,Deadlock found when trying to get lock; try restarting transaction因为对mysql锁不熟悉,为什么insert也会死锁,不是一般在update的时候会死锁吗?...原创 2020-04-21 19:06:14 · 8016 阅读 · 2 评论 -
MySQL记录锁、S锁、间隙锁、Next-Key Locks等各种锁介绍
在开发中要将数据持久化,就一定要用到数据库。目前世面流行的数据库也比较多,如Oracle、db2、SQLServer、MySQL、HBase、MariaDB等等。其中MySQL备受众多程序员喜爱,很多公司,大厂都在使用,因为其使用方便且开源,更重要的是它是免费的。MySQL常用存储引擎有MyISAM和innodb两种,MyISAM只支持表锁,一锁就整张表被锁,innodb不仅支持表锁,还支持更细粒度行锁。精确的讲锁主要分为两类:S锁,也称共享锁。S锁之间不冲突。X锁,也称为独占锁,X锁只能一个事务获原创 2021-08-01 21:37:52 · 942 阅读 · 0 评论