事务命令
事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。
数据库开启事务命令
--start transaction 开启事务--Rollback 回滚事务,即撤销指定的sql语句(只能回退insert delete update语句),回滚到上一次commit的位置--Commit 提交事务,提交未存储的事务-- --savepoint 保留点 ,事务处理中设置的临时占位符 你可以对它发布回退(与整个事务回退不同)
转账实例:
create table test2(id int PRIMARY KEY auto_increment,name VARCHAR(20)) engine=innodb;
INSERT INTOtest2(name) VALUE ("alvin"),
("yuan"),
("xialv");
start transaction;
insert into test2 (name)values('silv');
select * fromtest2;
commit;
--保留点
start transaction;
insert into test2 (name)values('wu');
savepoint insert_wu;
select * fromtest2;
delete from test2 where id=4;
savepoint delete1;
select * fromtest2;
delete from test2 where id=1;
savepoint delete2;
select * fromtest2;
rollback todelete1;
select * from test2;