我只使用MySQL,并且因为发现DDL执行隐式提交,我正在寻找一种在MySQL中遵守它的解决方案。
如果MySQL无法管理它,即使使用一些hacky方法,一个可行的选择是切换SQL系统。是否有任何允许事务性DDL开箱即用或至少比MySQL更简单的设置?
答案 0 :(得分:2)
我认为没有办法在MySQL中建立DDL事务。
PostgreSQL具有完全事务性的DDL,我个人认为它的设置和运行与MySQL一样简单(实际上我发现MySQL的使用更复杂,因为它的SQL方言有其局限性。)
答案 1 :(得分:1)
根据this document,PostgreSQL,DB2,Sybase,Informix和Firebird支持事务性DDL,在某些情况下还支持SQL Server。 Oracle在每个DDL语句上自动提交,但还有一些额外的“版本控制”机制。
你到底想要达到什么目的?可能有比交易DDL更好的方法。