Name
Новичок
BEGIN & COMMIT & ROLLBACK & AUTOCOMMIT
mysql_query('SET AUTOCOMMIT=1') or die (db_error()); // just for test, to be sure AUTOCOMMIT=1
mysql_query('BEGIN') or die (db_error());
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
mysql_query('COMMIT');
Я так понимаю если начался "BEGIN"
то никаких изменинений сделано не будет до тех пор пока не вызовем "COMMIT"
и "ROLLBACK" не нужен совсем и AUTOCOMMIT по барабану.
Если ошибка то die() и "COMMIT" не выполняется и все OK.
Во всяком случае у меня даный пример работает.
Правильно ли так делать?
mysql_query('SET AUTOCOMMIT=1') or die (db_error()); // just for test, to be sure AUTOCOMMIT=1
mysql_query('BEGIN') or die (db_error());
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
$sql = "INSERT INTO ...";
$result = mysql_query($sql) or die (db_error($sql));
mysql_query('COMMIT');
Я так понимаю если начался "BEGIN"
то никаких изменинений сделано не будет до тех пор пока не вызовем "COMMIT"
и "ROLLBACK" не нужен совсем и AUTOCOMMIT по барабану.
Если ошибка то die() и "COMMIT" не выполняется и все OK.
Во всяком случае у меня даный пример работает.
Правильно ли так делать?