mysql 回滚执行delete语句会加锁吗
时间: 2023-11-20 07:05:38 浏览: 51
当使用 `DELETE` 语句删除数据时,MySQL 会对被删除的行加排它锁(`X` 锁),以防止其他事务在删除操作完成之前对这些行进行修改或删除。如果你使用了 `BEGIN` 或 `START TRANSACTION` 开启了一个事务并且执行了 `DELETE` 操作,但是在执行 `COMMIT` 之前执行了 `ROLLBACK` 操作,那么 MySQL 会回滚这个事务并释放所有加的锁。
注意,如果你在执行 `DELETE` 操作时使用了 `SELECT ... FOR UPDATE` 或 `SELECT ... LOCK IN SHARE MODE` 语句,它们也会为选定的行加锁,并且这些锁也会在回滚操作时被释放。