如何在 php 中使用 mysqli 阻止数据库以避免脚本执行中出现另一个事务



>我必须执行一组准备好的查询才能在数据库中加载数据(此加载数据大约需要 3 小时),并且我正在寻找在脚本执行时阻止数据库的方法,因为如果其他客户端执行任何更新或插入是可能的,信息完整性将被破坏。

我该怎么做?

谢谢。

如果我理解正确,"阻止"是指终止连接,这样就不会发生其他查询。以下是在 MySQLi 中终止连接的方法:

对于 MySQLi 程序:

mysqli_close($conn);

对于面向 MySQLi 对象:

$conn->close();

在这两种情况下,$conn 都是存储所建立连接的变量。

在安全性方面,我认为这不是一个问题,因为只有当有人可以访问您的$conn对象并且该对象安全地存储在您的 PHP 代码中时,这才是一个安全问题。那么安全性取决于许多其他因素,但我希望我至少回答了你最初的问题:)

您正在寻找的内容称为"表锁定"。你可以在谷歌上阅读它。

您可以根据需要锁定整个表或特定行。

锁定

表后,其他客户端将无法对其执行锁定操作。您可以从这里开始阅读:https://dev.mysql.com/doc/refman/5.5/en/innodb-lock-modes.html

最新更新