首页 > 其他分享 >为什么 SELECT FOR UPDATE 只在事务中起作用

为什么 SELECT FOR UPDATE 只在事务中起作用

时间:2023-05-03 11:55:05浏览次数:37  
标签:事务 UPDATE 更新 中起 MySQL SELECT

在MySQL中SELECT FOR UPDATE建议要在事务中运行,原因是当SELECT FOR UPDATE执行完之后,就释放锁了。其实查询出来的数据接下来还要更新,所以建议必须要在事务中运行,针对spring事务其实就是加注解@Transaction。

图二中显示一直转圈圈,说明上一个图中已经上了锁,第二图的更新必须要在图一结束之后才能进行更新,防止数据出现问题。

 

标签:事务,UPDATE,更新,中起,MySQL,SELECT
From: https://www.cnblogs.com/jelly12345/p/17368884.html

相关文章

  • 对外提供的api保证接口的幂等 (先select 再 update innodb是行级锁, mysam是表级的
    额外的状态字段,这个状态值一般只会单流程变更,不管通过什么消息传递,目前申万宏源的每一个业务大部分都走流程,走的过程就有唯一的业务字段配合工作流workflow服务来进行业务流转个人观点解决幂等只有两种方式第一种依赖上游带过来的唯一标志,然后我们给这个唯一标志加锁保证请......
  • echarts 5.x 如果legend设置selected时,legend需要单击两次才能切换状态
    在第一组的selected里面先进行声明,在当前组再进行一次声明就可以了。 legend:[    {     show:true,     x:'center',     y:'0',     data:['日平均气温(℃)','日平均室温(℃)'],     textStyle:{......
  • Angular4_支持多选,分组,自动完成,带图标,清理输入框可配置的select
    Angular4_支持多选,分组,自动完成,过滤,带图标,清理输入框可配置的select效果图DocumentationUsageInstall ngx-select-ex through npm packagemanagerusingthefollowingcommand:npmingx-select-ex--saveForusagewithAngular4installusingthefollowingcomman......
  • MFC-CListCtrl-GetFirstSelectedItemPosition获取第一个选定项的位置
     POSITIONpos=mylist4.GetFirstSelectedItemPosition();//获取第一个选定项的位置/*返回值:成功返回行号;NULL,如果项未被选定*/str.Format(_T("pos=%d\r\n"),pos);OutputDebugString(str);   ......
  • bat禁用win update
    @echooffnetstopwuauservscconfigwuauservstart=disabledscprivwuauservrecovery=Disableschtasks/Change/TN"\Microsoft\Windows\WindowsUpdate\sih"/DISABLEschtasks/Change/TN"\Microsoft\Windows\WindowsUpdate\ScheduledS......
  • [FireDAC][Phys]-330. Cannot generate update query. Update table undefined.
    在正式的查询SQL前,用了临时表存储查询条件,数据正常加载,结果编辑、保存时报错了代码是老早前写,现在看,其实完全可以直接用存储过程的结果,也不用中间再转一次,这个异常也就可以避过去了 ......
  • 错误until the update interval of nexus-releases has elapsed or updates are force
    错误:untiltheupdateintervalofnexus-releaseshaselapsedorupdatesareforced  (从文件系统里传的,而不是从nexues界面上传的),有些文件nexues从中央仓库里下载不到,本人从别处拷贝一个上传去后,执行mvncompile时出现该错误。  解决办法:mvncleaninstall-U -Umeansfor......
  • vue3自定义指令实现el-select下拉加载更多
    1.新建js文件exportdefault(app)=>{app.directive('loadmore',{beforeMount(el,binding){constelement=el.querySelector('.t-select__dropdown');element.addEventListener('scroll',()=>{co......
  • 8. SELECT
    一.LIMIT和ORDERBY[[email protected]][employees]>select*fromemployeeslimit1;--从employees中随机取出一条数据,结果是不确定的+--------+------------+------------+-----------+--------+------------+|emp_no|birth_date|first_name|last_name|gender|......
  • mybatis定义sql语句标签之select 标签
    属性介绍:id:唯一的标识符.和Mapper接口定义方法名同名。parameterType:传给此语句的参数的全路径名或别名例:com.test.poso.User或user,目前很少用到。resultType:语句返回值类型或别名。注意,如果是集合,那么这里填写的是集合的泛型,而不是集合本身(resultType与resultMap不......