php - 是否有任何配置或 INNODB 原则导致以下 MYSQL 更新不一定执行所有更新?

标签 php mysql innodb

<?php
    $query = 'SELECT id FROM transaction_table';
    $result = db_query($query);  
    while($row = db_fetch_array($result)) {    
        //do some processing
        db_query('UPDATE transaction_table SET updated = "1" WHERE id = "%s"',$row['id']);
    }
?>

每次运行此脚本时,它只会更新一些随机行(平均 8-25 行)。它应该更新所有行。

最佳答案

在每个循环中回显查询。我的猜测是有一些错误。使用此代码:

<?php
    $query = 'SELECT id FROM transaction_table';
    $result = db_query($query);  
    while($row = db_fetch_array($result)) {    
        //do some processing
        echo 'UPDATE transaction_table SET updated = "1" WHERE id = "'.$row['id'].'"<br>';
        db_query('UPDATE transaction_table SET updated = "1" WHERE id = "%s"',$row['id']);
    }
?>

尝试直接在 MySQL 中手动运行每个查询,并验证每个查询都会运行。我在您提供给我们的代码中看不到任何会导致任何问题的内容。

关于php - 是否有任何配置或 INNODB 原则导致以下 MYSQL 更新不一定执行所有更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157974/

相关文章:

php - LARAVEL:发送存储在数据库中的邮件,使用所见即所得编辑器制作

mysql - 如何计算 3 个不同表格之间的利润

mysql - 当导入到典型的 Ubuntu 本地主机时,没有 InnoDB 的 MySQL 数据库可以工作吗?

php - move_uploaded_file() 不适用于有效的 ['tmp_name' ]

php - 提交表格给自己

php - Laravel 5.4 Image Intervention 上传图片到 S3 0 Bytes

mysql - Mac节点webkit崩溃

php - 从 mysql 数据库中获取数据到 Ionic 应用程序

MySQL UPDATE 语句批处理以避免大量 TRX 大小

java - 简单键/值数据库的最佳存储引擎