giovedì 10 luglio 2008

MySQL * MyISAM - InnoDB = Caos

"Ma... è tutto dentro una transazione?"
"Sìssì... ecco, vedi? beginTransaction..."
"Com'è allora che crea il record su questa tabella, solleva l'eccezione quando lo dovrebbe creare nell'altra, fa rollback e lascia il record spurio?"
"Sarà Hibernate?"
"Sulla carta no... guarda, secondo me è che MySQL sta facendo casino con le transazioni. Guarda un po' se la tabella è MyISAM o InnoDB, per caso..."
"Ecco, è MyISAM... aspetta, la cambio... oh... SQLYog non me la fa cambiare..."
"Ma che versione hai?"
"[versione_sqlyog]"
"Va bene, pure più aggiornata della mia... e di MySQL?"
"[versione_mysql]"
"Anche questa va bene, getto un occhio da Andrea, magari lui..."
(vado & torno)
"No, stesse versioni, a lui funziona... aspe', facciamo la query a manina... ALTER TABLE pippo ENGINE=InnoDB... pare abbia funzionato!"
"No guarda, controlla... è sempre MyISAM"
"Putt... aspe', vuoi vedere che è in my.ini che sta l'inghippo... aaaaah: intanto il default sta a MyISAM... e poi... EPPOI CHE ACCIDENTI È
skip_innodb
???"
Morale: si impara sempre qualche nuovo trucco (anche se questo è vecchio: non ti fidare delle installazioni di default di MySQL)

Nessun commento: