Наткнулся на этот вопрос, ища быстрый и минималистский фрагмент, который я мог бы использовать. Пришлось собрать его сам из сообщений выше. Возможно, кому-то это будет полезно:
data_frame_trimmed = data_frame.apply(lambda x: x.str.strip() if x.dtype == "object" else x)
Смотрите на это учебное руководство на транзакциях с PDO.
В основном обертывают длительный код в:
$dbh->beginTransaction();
...
$dbh->commit();
И согласно этой странице документа PDO:
, "Когда сценарий заканчивается или когда соединение собирается быть закрытым, если у Вас есть выдающаяся транзакция, PDO будет автоматически откатывать ее".
, Таким образом, Вы потеряете транзакцию, которая находилась на рассмотрении когда приведенный к таймауту сценарий.
, Но действительно, необходимо перепроектировать это так, чтобы это не зависело от остающегося в живых сценария.
Необходимо использовать основанные на InnoDB таблицы для транзакций, тогда пользуются любой библиотекой как PDO или MySQLi, который поддерживает их.
<?php
//This may help someone....This code commit the transactions
//only if both queries insert and update successfully runs
$mysqli=new mysqli("localhost","user_name","password","db_name");
if(mysqli_connect_errno())
{
echo "Connection failed: ".mysqli_connect_error();
}
else
{
$mysqli->autocommit(FALSE);
$mysqli->query("insert into tblbook (id,cid,book) values('','3','book3.1')");
echo $q_ins=$mysqli->affected_rows."<br>";
$mysqli->query("update tblbook set book='book3' where cid='3'");
echo $q_upd=$mysqli->affected_rows."<br>";
if($q_ins==1 && $q_upd==1)
{
$mysqli->commit();
echo "Commit<br>";
}
else
{
$mysqli->rollback();
echo "Rollback<br>";
}
}
?>