检查更新是否确实更改了任何单元格(mysql,php)

时间:2016-11-17 09:15:52

标签: php mysql mysqli

我的代码中有一个更新查询 - 我想检查这个更新是否真的改变了任何单元格 - 当我尝试mysqli_affected_rows()时 - 它返回给我的行是受影响/改变的,即使它们不是。

f.e。当我将值'test'更新为相同的值'test'时 - >它告诉我行已更改,但我只想知道它何时被重新更改(当更新不同的值时)

我怎样才能实现这一目标? 我正在使用mysql和php

1 个答案:

答案 0 :(得分:1)

肮脏的检查是一种这样的策略。它涉及在您写入数据库之前执行检查。这避免了不必要的往返数据库。

流程如下:

  • 从数据库中检索记录
  • 仅在新值!=原始值
  • 时设置新值
  • 如果值已更改,则将记录标记为“脏”

一旦应用了所有集合,如果记录是脏的,请保存它。