You can of course bypass the whole issue by phrasing your UPDATE statement more carefully. For example, only choosing candidates for which you know a change needs to be made: UPDATE t SET x=5 WHERE id==47 AND x IS NOT 5; Will only attempt to change rows where a change is required and will not attempt to change rows where a change is not required. It says nothing, of course, about whether or not there is a row after the update which has id == 47 and x == 5.