mysql中事务一定要显示的开启吗
发布网友
发布时间:2022-04-22 01:20
我来回答
共1个回答
热心网友
时间:2022-04-07 16:41
不一定要显式开启的。对于涉及一系列多条语句操作,如果需要确保要么全部成功,要么全部失败,不出现中间状态,那就必须显式启用事务。
而对于单独一条动作查询语句来讲,如果使用的是InnoDB存储引擎的话,就没必要显式开启事务了,因为数据库引擎会自动对单独一条SQL动作查询隐式开启事务。
例如:
insert into t2(id,name) valuse('001','abc'),('002','cfg'),('003','hij');
上述一条语句向数据表插入三条记录,数据库引擎(InnoDB)会隐式开启事务,确保这三条记录要么全部插入成功,要么全部失败而不会出现中间状态。用户无需考虑事务问题,它由系统内部自动处置。