SQLITE -INSERT или UPDATE без изменения значения ROWID

Мне нужно обновить строку таблицы, ЕСЛИ СУЩЕСТВУЕТ, иначе ВСТАВИТЬ новую строку. Я пытался:

INSERT OR REPLACE INTO table VALUES...

но если строка строки существует, этот оператор изменяет ROWID строки, а этого я пытаюсь избежать (мне нужен rowid :D)

Я также пытался найти способ получить какое-то возвращаемое значение из обновления, в случае, когда обновление имело место, но я до сих пор не понимаю, как... Если бы я мог получить возвращаемое значение из оператора обновления, я мог выбрать, продолжать ли вставку или нет.

Есть ли у вас какие-либо предложения или решения этой проблемы? Или мне нужно сделать копию ROWID и использовать ее вместо «чистой» таблицы ROWID?

Заранее спасибо, с уважением

ps :Я искал ЗДЕСЬ и мне было интересно, есть ли в sqlite специальное слово OUTPUT, но google мне не помог..

----РЕДАКТИРОВАТЬ после прочтения комментариев:

пример схемы таблицы

CREATE TABLE test (
    table_id TEXT NOT NULL,
    some_field TEXT NOT NULL,
    PRIMARY KEY(table_id)
)

INSERT or REPLACE INTO test (table_id, some_field) VALUES ("foo","bar")

5
задан Community 23 May 2017 в 12:26
поделиться