gpt4 book ai didi

php - 在 MySQL 中,最好的做法是将 LOCK TABLES 调用包装在 try catch 中吗?

转载 作者:可可西里 更新时间:2023-11-01 07:37:32 25 4
gpt4 key购买 nike

当执行“LOCK TABLES”时,将调用包装在 try/catch 中以确保在出现异常时解锁表是否明智?

最佳答案

一般来说,对于需要撤消先前操作以防出现任何错误的操作,使用 try { } catch 是个好主意;它不仅限于数据库语句。

也就是说,在使用数据库时,建议使用更细粒度的锁定机制,例如 InnoDB 等事务性数据库附带的锁定机制。您仍然会使用 try { } catch,但是以这种方式:

// start a new transaction
$db->beginTransaction();
try {
// do stuff
// make the changes permament
$db->commit();
} catch (Exception $e) {
// roll back any changes you've made
$db->rollback();
throw $e;
}

冲突解决的确切行为由事务隔离级别定义,可以根据您的需要进行更改。

关于php - 在 MySQL 中,最好的做法是将 LOCK TABLES 调用包装在 try catch 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com