事务案例测试
CREATE TABLE `t` (
`id` int(11) NOT NULL,
`k` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
insert into t(id, k) values(1,1),(2,2);
测试
BEGIN;
INSERT INTO t(id, k) VALUES(3,3),(4,4);
ROLLBACK;
COMMIT;
SELECT * FROM t
可以看到,3 4 并没有插入成功,就是因为设置了回滚
id k
1 1
2 2
BEGIN 等价于START TRANSACTION
START TRANSACTION;
INSERT INTO t(id, k) VALUES(3,3),(4,4);
ROLLBACK;
COMMIT;
总结
- 事务可以保证多个语句同时成功or失败