Я читал о транзакциях mysql и у меня сложилось впечатление, что для создания транзакций приходилось использовать либо mysqli, либо PDO. Тем не менее, я вижу повсюду примеры обмена стеками и другие сайты, которые используют расширение mysql, например:
mysql_query("START TRANSACTION");
$rollback=0
if (!mysql_query($query1)){
$rollback=1
}
if (!mysql_query($query2)){
$rollback=1
}
if (!mysql_query($query3)){
$rollback=1
}
if ($rollback == 1){
mysql_query("ROLLBACK");
}
else{
mysql_query("COMMIT");
}
В чем разница между этим способом и использованием «специальных» специфических для mysqli функций mysqli :: rollback и mysqli :: commit ?
Кроме того, что произойдет, если произойдет сбой скрипта php (IE, мой сервер приложений выйдет из строя и т. Д.), Будет ли сервер БД автоматически откатить транзакцию после установленного периода времени?
Аналогично, что произойдет, если сервер БД выйдет из строя до того, как mysql_query ( "СОВЕРШИТЬ")? Будет ли транзакция «откатана»?
Спасибо!