$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die('连接失败: ' . $conn->connect_error);
}
// 开启事务
$conn->autocommit(FALSE);

$sql = 'SELECT * FROM code WHERE zt=1 FOR UPDATE';
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        // 修改zt值
        $sql2 = 'UPDATE code SET zt=2 WHERE id=' . $row['id'];
        $conn->query($sql2);
    }
} else {
    echo '0 结果';
}

// 提交事务
$conn->commit();

$conn->close();

PHP事务查询MySQL表code中zt等于1的值并修改,行锁防止重复读取

原文地址: https://www.cveoy.top/t/topic/lhtf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录