[sr-dev] mysql_db and UPDATE

Alex Hermann alex at speakup.nl
Fri Aug 8 16:06:36 CEST 2014


On Friday 08 August 2014, Jason Penton wrote:
> I have noticed that in some instances if you update a row in mysql via the
> mysql_db module and the actual row data does not change - affected_rows
> will return 0. This is the default behaviour for the mysql API as per -
> http://dev.mysql.com/doc/refman/5.0/en/mysql-real-connect.html
> 
> There is a flag (CLIENT_FOUND_ROWS) that can be used in the
> mysql_real_connect function that will cause affected_rows to return the
> number of rows that were "matched" - ie in the WHERE clause, as opposed to
> whether or not any data was changed.
> 
> If we don't it could be a problem for modules like usrloc where an update
> is done and if no row are "affected" and new row is added which would cause
> a duplicate.

If that happens, the table definition is wrong. It should have (a) unique 
key(s) to prevent double records. We'd better fix that.


-- 
Greetings,

Alex Hermann




More information about the sr-dev mailing list