MySQL默认自动提交(autocommit=1),如果要开启事务,先关闭自动提交(autocommit=0);
InnoDB支持事务,MyISAM不支持;
MySQL不支持事务嵌套;已经开启事务后,再开启事务(start transaction),会隐式的提交(commit)上一个事务。
MySQL中可以通过部分事务(savepoint)来实现嵌套
TRUNCATE nested_transaction;
BEGIN;
INSERT INTO `nested_transaction`(id) VALUES(1);
SAVEPOINT t1;
INSERT INTO `nested_transaction`(id) VALUES(2);
ROLLBACK TO SAVEPOINT t1;
COMMIT;
id
--------
1