我正在阅读MySQL中的交易,我不确定我是否正确掌握了一些特定的东西,我想确定我理解正确,所以这里就是这样.我知道一个事务应该做什么,我只是不确定我是否理解语句语义.
所以,我的问题是,有什么不对,(并且,如果是这种情况,有什么问题),以下内容:
默认情况下,MySQL中启用自动提交模式.
现在,SET autocommit=0;
将开始一个事务,SET autocommit=1;
将隐式提交.这是可能的COMMIT;
,以及ROLLBACK;
,在这两者的情况下,自动提交仍设置为0之后(和一个新的隐式启动事务).
START TRANSACTION;
将基本上SET autocommit=0;
直到COMMIT;
或ROLLBACK;
发生.
换句话说,START TRANSACTION;
并且SET autocommit=0;
是等价的,除了START TRANSACTION;
相当于隐含地添加一个SET autocommit=0;
after COMMIT;
或者ROLLBACK;
如果是这种情况,我不明白http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html#isolevel_serializable-看到有一个隔离级别意味着有一个事务,这意味着自动提交应该是关闭的?
如果在开始交易和设置自动提交之间存在另一个差异(除了上述的差异之外),它是什么?
我试图在PHP中即时生成存档并立即将其发送给用户(不保存).我认为没有必要在磁盘上创建一个文件,因为我发送的数据无论如何都不是持久的,但是,在搜索网络时,我无法找到方法.我也不关心文件格式.
所以,问题是:
是否可以在php脚本中创建和操作文件存档而不创建临时文件?