草庐IT

updating

全部标签

MySQL——并发insert on duplicate key update遇见死锁

前言数据库死锁问题,是一个老生常谈且很常见的问题,网上也有非常多对于各类死锁场景的解析和复现,但凡和死锁有关,无外乎不涉及数据库隔离等级、索引、以及innodb锁等相关原因。一、问题的背景:我们的数据库中的发生死锁的表是具有”多列组合构建的唯一索引“(不包含自增的主键),且数据库的隔离等级为ReadCommitted,另外对于这个表来说是写入远大于读取的,由于业务的原因,经常会出现同一数据反复插入(同一数据指唯一索引值相同的数据,但其他非索引字段可能不同),所以为了简化代码,我们使用insertonduplicatekeyupdate来解决这种问题,当mysql检测到唯一键冲突时,仅更新特定(

关于设置MySQL中create_time和update_time默认值和实时更新

嗨喽,大家好,我是新时代的农民工小赵。最近在做一个公司内部使用的数据导出工具,我主要负责后端接口层的开发。开发框架选择​​SpringBoot​​​框架,数据库选用​​MySQL​​数据库。在建库建表和同事沟通过程中,有了如下的思考。首先,通过对业务的梳理和与产品同学的沟通,按照整个系统的需求,总共抽取出了六张数据表,对每张表需要的业务字段进行创建外,也添加了​​create_time​​​和​​update_time​​​字段,便于后期维护。数据库创建时间类型的字段一般设置为​​datetime​​​或​​timestamp​​​类型。那么,涉及到时间字段的设置时,都会对其设置默认值和​​u

关于设置MySQL中create_time和update_time默认值和实时更新

嗨喽,大家好,我是新时代的农民工小赵。最近在做一个公司内部使用的数据导出工具,我主要负责后端接口层的开发。开发框架选择​​SpringBoot​​​框架,数据库选用​​MySQL​​数据库。在建库建表和同事沟通过程中,有了如下的思考。首先,通过对业务的梳理和与产品同学的沟通,按照整个系统的需求,总共抽取出了六张数据表,对每张表需要的业务字段进行创建外,也添加了​​create_time​​​和​​update_time​​​字段,便于后期维护。数据库创建时间类型的字段一般设置为​​datetime​​​或​​timestamp​​​类型。那么,涉及到时间字段的设置时,都会对其设置默认值和​​u