If didn't missunderstood what you said, you mean that you have duplicated rows in your table... and of course you don't have a primary key...
It's a mess, the last thing I would worry about is the UPDATE statement.
If you're using PostgreSQL, you can still use the OID field in the condition of your UPDATE. But I still don't see the point, because your data is not consistant. First, kill the database designer, and then you should worry bout the UPDATEs... 😛