Update row contents on some condition
Split things in two --


Some table(s) would hold the 'current' info, such as the latest bid for a given item.
Some table(s) would keep the 'history', such as a list of all the bid values and who, when, what, etc.


When a new bid comes in, you would do two things: UPDATE a row in the first table and INSERT a row into the second table.

By separating "current" from "history" it may help you think through how to structure the data and formulate the queries.