Archívum - Okt 31, 2004 - Fórum téma
Tranzakciók
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.
■ $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.