mysql存储过程 if else是一个事务吗? if(exists(select id from test where name='')) then update ....; else insert into ...; end if; 第一行where 没有包含主键或者唯一索引 ,因该会用表锁,这个锁什么时候释放呢? 需不需要显示开启事务 提交事务?
时间: 2023-05-18 08:02:50 浏览: 121
MySQL存储过程中的if else语句并不是一个事务,它只是一个条件判断语句。在您提供的代码中,如果where子句没有包含主键或唯一索引,那么MySQL会使用表锁。这个锁会在事务提交或回滚时释放。如果您需要在存储过程中使用事务,您需要显式地开启事务并提交或回滚事务。
阅读全文