update your_table
set your_field =your_new_value
from your_table
where id = your_id
if @@rowcount = 0
insert your_table(id, your_field)
values (your_id, your_new_value)
При UPDATE userProfile SET nick = вася WHERE userId = 522024879 IF @@rowcount = 0 INSERT userProfile (userId, nick) VALUES (522024879, вася) выскакивает ошибка:
Кирилл Легенда, строковые значения нужно указывать в кавычках.
Я про 'вася'.
Ну и судя по тексту ошибки у вас sqlite, там немного другие правила.
UPDATE userProfile
SET nick = 'вася'
WHERE userId = 522024879;
INSERT INTO userProfile (userid, nick)
SELECT 522024879, 'вася'
WHERE NOT EXISTS (SELECT 1 FROM userProfile WHERE userId =522024879);
Должен сработать один из запросов, если есть запись с нужным идентификатором, то update, а если нет, то инсерт.