Buonasera, ho un problema con le transazioni di MySQL.
Il MySQL che utilizzo è "5.1.46-community MySQL Community Server".
In particolare, definisco
Effettuo un primo inserimento, in particolare inserisco in t1 il valore 1 e in t2 il valore 1, quindicodice:create database mytest; use mytest; create table t1 (id integer primary key) type=InnoDB; create table t2 (id integer primary key) type=InnoDB;
Ora effettuo un secondo inserimento, in particolare inserisco in t1 il valore 1 e in t2 il valore 2, quindicodice:set autocommit=0; begin; insert into t1 set id=1; insert into t2 set id=1; commit;
Ora il problema è che nella seconda transazione c'è un errore (voluto) ossia inserisco su t1 l'id pari a 1, inserito nella precedentemente transazione. Quando eseguo la seconda transazione il primo insert mi da un errore, mentre il secondo insert va a buon fine anche se contenuto in una transazione! Assurdo! Qualcuno può spiergarmi qual è il problema?codice:set autocommit=0; begin; insert into t1 set id=1; insert into t2 set id=2; commit;

Rispondi quotando