Meto mi cuchara.
MySQL sí acepta transacciones y las trata como tal, sí y solo si, las tablas implicadas son tipo InnoDB que son las únicas transaccionales que maneja este motor. Por default las tablas creadas son todas MyISAM, muchísimo más rápidas pero no aceptan transacciones. La forma como se manejan las transacciones en MySQL son totalmente distintas a Firebird. Veo que utilizas Zeos, los cuales yo también uso, son muy buenas y no dan problemas prácticamente de nada. Lo que sugiero es que manejes las transacciones directamente sobre MySQL, para ello solo requieres lanzar un query "START TRANSACTION" antes de lo que quieras hacer y un "COMMIT" O "CANCEL" dependiendo de lo que te salió.
Tengo un sistema actualmente trabajando que hace uso de transacciones para algunas cosas, si quieres lo pego pero depende de si es igual que lo que necesitas, en mi caso es para evitar folios duplicados.
|