I want to update a record if the record exists or insert a new one if it doesn’t.
What would be the best approach?
Do a Select Count() and if comes back zero then insert, if one then query the record, modify and update,
or should I just try to query the record and catch any system.queryexception?
This is all done in Apex, not from REST or the JS API.
Adding to what’s already been said here, you want to use FOR UPDATE in these cases to avoid what superfell is referring to. So,