sql事务回滚(rollback)不生效。。
mysql版本5.7.24, macOS10.14,把autocommit设置为OFF也不生效,
把On The Road的num=5,修改为1,撤回事务,不生效,num还是1是为什么??
mysql> select name,num from book; | |
---|---|
name | num |
On The Road | 5 |
Effective Java | 1 |
身体未曾忘记 | 1 |
3 rows in set (0.00 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> update book set num=1 where name='On The Road';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select name,num from book; | |
---|---|
name | num |
On The Road | 1 |
Effective Java | 1 |
身体未曾忘记 | 1 |
3 rows in set (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select name,num from book; | |
---|---|
name | num |
On The Road | 1 |
Effective Java | 1 |
身体未曾忘记 | 1 |
3 rows in set (0.00 sec)
把autocommit设置为OFF之后再次尝试也不行;
mysql> show variables like 'auto%'; | |
---|---|
Variable_name | Value |
auto_increment_increment | 1 |
auto_increment_offset | 1 |
autocommit | OFF |
automatic_sp_privileges | ON |
4 rows in set (0.00 sec)
你这个book表的引擎应该是MyISAM,MyISAM引擎表不支持事务,也就不支持回滚