ugrás a tartalomhoz

Archívum - Okt 31, 2004 - Fórum téma

Tranzakciók

Anonymous · 2004. Okt. 31. (V), 01.25
Probléma az alábbi tranzakció nem működik.

$parancs=mysql_query("CREATE TABLE CUSTOMER (A INT, B CHAR (20), INDEX (A)) TYPE=InnoDB");
$parancs=mysql_query("BEGIN");
$parancs=mysql_query("INSERT INTO CUSTOMER VALUES (10, 'Heikki')");
$parancs=mysql_query("COMMIT");
$parancs=mysql_query("SET AUTOCOMMIT=0");
$parancs=mysql_query("INSERT INTO CUSTOMER VALUES (15, 'John')");
$parancs=mysql_query("ROLLBACK");

Az kellene kapni, hogy a (15, john) sort a ROLLBACK utasítás törli.
De nem ez történik, hanem mintha ott se lenne a parancs, ez a példa eléggé levan egyszerűsítve.
És ugyanez törlésnél, ha a tranzakcióban szereplő törlés hibát ad akkor az összes előtte lévő törlést ami a tranzakcióban szerepel állítsa vissza az eredeti állapotra.

Ha valaki tudna segíteni azt nagyon megköszönném.

Üdv.