默认情况下我使用的是InnoDb引擎。看起来很奇怪的是:
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> set session transaction isolation level serializable;
Query OK, 0 rows affected (0.00 sec)
mysql> create table test_1(id int);
Query OK, 0 rows affected (0.07 sec)
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+------------------+
| Tables_in_reestr |
+------------------+
| test_1 |
+------------------+
1 rows in set (0.00 sec)这看起来很奇怪,因为我开始了事务和回滚,但是没有结果。我做错什么了?
发布于 2015-12-02 10:45:08
为了扩展上面的注释:在MySQL中,基本上所有改变数据库对象的操作都执行自动提交。主要类别如下:
CREATE/ALTER/DROP TABLE/VIEW/INDEX.mysql的内容,比如ALTER/CREATE USER,ANALYZE,实际上,我发现最好假设INSERT、UPDATE和DELETE是安全的,而其他任何事情都是安全的。
来源:https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html
https://stackoverflow.com/questions/34040032
复制相似问题