如果在事务期间失败则删除文件,如何恢复/回滚查询执行之前?
我需要删除事务中的文件,是否可以知道unlink文件是否失败然后意味着删除文件失败然后回滚sql执行之前..
以及其他问题,如果执行查询失败后unlink()如何恢复文件删除?
比如make unlink()除了交易
try{
$connect_db->beginTransaction();
// execute select query
// execute delete query
// .. execute other query
if (is_file($file_path)) {
if(unlink($file_path) == false) {
// How to recover/rollback delete query and other query execute before
$message = '';
return $message;
exit;
}
}
// ....execute other query
$connect_db->commit();
} catch (PDOException $e) {
$message = '';
}
return $message;
答案 0 :(得分:0)
我认为这就是你要找的东西:
if( is_file($file_path) ) {
if( ! unlink($file_path) ) { // or if(unlink($file_path) == false) {
$connect_db->rollBack();
$message = '';
return $message;
exit;
}
}
只要您的数据库支持交易。