Я читал о транзакциях 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-скрипта (т. Е. Произошел сбой сервера приложений и т. Д.), Автоматически ли сервер БД откатит транзакцию через заданный период времени?
Точно так же, что произойдет, если сервер БД выйдет из строя до mysql_query ("COMMIT")? Будет ли транзакция «откатана»?
Спасибо!