On duplicate key update inserts or updates a row, the last_insert_id() function returns the auto_increment value. the on duplicate key update clause can contain multiple column assignments, separated by commas.. Mysql insert or update - one of the most common problems when it comes to database. we want to check if the record exists in the database, if not we want to update it.. Insert record or on duplicate key update existing record. on duplicate key and the record will be updated: check if old `unique_field` hash is equal to the new one. if true, set `updated` to the old `updated` value..
Conditional duplicate key updates with mysql. in one of our larger rails apps the sheer volume of data we process means we’ve had to rely more and more on direct sql queries, denormalised tables and summary tables to speed things up.. Also, although unnecessary for the on duplicate key update method to function properly, we’ve also opted to utilize user variables so we don’t need to specify the actual values we want to insert or update more than once.. Noted in 5.0.38, 5.1.17 changelogs. an insert on duplicate key update statement might modify values in a table but not flush affected data from the query cache, causing subsequent selects to return stale results. this made the combination of query cache plus on duplicate key update very unreliable..
alternative link download