Существует ли какой-либо сценарий, в котором ON CONCLICT происходит в операторе REPLACE?

#database #replace

#База данных #заменить

Вопрос:

Мне было интересно, есть ли какой-либо случай, когда мы могли бы справиться с конфликтом, который может произойти в INSERT OR REPLACE (или просто REPLACE ). Я только что видел фрагмент кода друга, такой как:

 INSERT OR REPLACE table(params) VALUES(values) ON CONFLICT(key) DO UPDATE SET param=value ...
 

Не REPLACE управляет конфликтом неявно? Действительно ли необходимо иметь это UPDATE предложение или оно избыточно?

Ответ №1:

Я только что понял, что REPLACE удаляет запись перед выполнением INSERT . Поэтому я предполагаю, что мне придется придерживаться, INSERT ... ON CONFLICT DO UPDATE поскольку мне также нужно поддерживать старые данные.