php - MySQL 获取上次更新查询期间找到的行数(不一定受影响)

标签 php mysql pdo

我想识别未更新任何内容的 UPDATE 查询,因为没有要更新的匹配行(而不是因为该行包含完全相同的值)

据我所知,rowCounts 将返回上次查询期间有多少受影响的行,我想知道找到了多少匹配行。我注意到 MySQL 工作台显示了这一点,所以我猜有一种方法,但找不到它。

我正在使用 PDO。

最佳答案

此信息是not available in PDO

尽管 native mysql 应用程序可以从驱动程序获取此类信息(请参阅 mysqli_info()),但在 PDO 中此类信息不可用。

您所能做的就是将 PDO::MYSQL_ATTR_FOUND_ROWS 设置为连接选项,但它远非可靠,因为在这种情况下您将无法获得实际更新的行数。

因此,为了获取您的号码,我只需运行具有相同条件的 SELECT 查询即可。

关于php - MySQL 获取上次更新查询期间找到的行数(不一定受影响),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42621348/

相关文章:

多语句查询中的PHP PDO错误

php - 如何在 Windows 上安装 PHP 的 PDO 驱动程序?

php - Linux终端中批量替换字符串

MySQL - 判断列_all_是否具有相同的值

mysql - SQL 分页尝试 : OFFSET (offset) is not a valid input at this position

mysql - 比较不同数据库上两个相同表结构的不同数据

php - Pdo 行计数错误

php - 对于每个循环和 fancybox

php - 将 html 实体转换为 UTF-8,但保留现有的 UTF-8

php - 上传 CSV 并用外键替换数据