Fix save failure

if there is an error saving, `db.insert` will return -1 and `mId` is assigned -1 which is incorrect.

Subsequent saving will attempt to update using `mId == -1` (can result in wrong behavior if there is indeed a row with ID == -1)