mysql如果存在事务嵌套会怎样?在MVC开发模式下,大家往往会在模型层封装事务。如果模型层相互调用,很容易出现事务嵌套,那么事务嵌套会出现什么问题呢?那么应该如何设计结构来避免事务嵌套呢?这次我们着重解决第一个问题。顺序事务1事务21start事务;2插入测试集id=2;3从测试中选择*;4开始交易;5从测试中选择*;当按照上面的序列执行命令行时,会发现序列3的select并没有id=2的数据,而id=2的数据却出现在了时间序列5中;因此,可以初步得出结论,当事务嵌套时,starttransaction具有类似于commit的提交功能。实时也是如此,参考MySQL嵌套事务的讨论;不仅starttransaction有导致commit的功能,下面的语句也会导致commitALTERFUNCTIONALTERPROCEDUREALTERTABLEBEGINCREATEDATABASECREATEFUNCTIONCREATEINDEXCREATEPROCEDURECREATETABLEDROPDATABASEDROPFUNCTIONDROPINDEXDROPPROCEDUREDROPTABLEUNLOCKTABLESLOADMASTERDATALOCKTABLESRENAMETABLETRUNCATETABLESETAUTOCOMMIT=1STARTTRANSACTION参考资料:MySQL嵌套事务讨论