Added checks that calls to Update for a table with an auto-incrementing
primary key actually have a value for the primary key. If they don't, an
exception is thrown as it means the calling code should have done an
Insert either first or instead of the call to Update.