Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.1058
diff -u -p -r1.1058 common.inc
--- includes/common.inc	5 Dec 2009 22:16:44 -0000	1.1058
+++ includes/common.inc	6 Dec 2009 02:02:09 -0000
@@ -5875,8 +5875,10 @@ function drupal_write_record($table, &$o
     }
   }
   // If we have a single-field primary key but got no insert ID, the
-  // query failed.
-  elseif (count($primary_keys) == 1) {
+  // query failed. Note that we explicitly check for FALSE, because
+  // a valid update query which doesn't change any values will return
+  // zero (0) affected rows.
+  elseif ($last_insert_id === FALSE && count($primary_keys) == 1) {
     $return = FALSE;
   }
 
