Как вставить запись в таблицу sqlite только в том случае, если она еще не существует?
Я приношу свои извинения, если этот вопрос не очень хорошо подходит для CodeProject, но я нашел вопросы SQLite здесь, так что здесь идет...
Я хочу создать "атомарный" SQL-скрипт, который вставит запись в таблицу только в том случае, если первичный ключ предоставленной записи еще не существует, таким образом избегая исключения ограничения, которое возникает, если вставка продолжается.
У меня есть следующий сценарий, который неверен. Я получаю ошибку, говоря, что синтаксис неправильный рядом с "где".
BEGIN EXCLUSIVE TRANSACTION; INSERT INTO NetworkLocks ( PK_id, owner_username, unique_identifier, creation_time ) VALUES ( @ID, @owner_username, @unique_identifier, @creation_time ) WHERE NOT EXISTS ( SELECT * FROM NetworkLocks nl WHERE nl.PK_id = @ID ); END TRANSACTION;
Любая помощь или совет будут очень признательны. Кроме того, как Новичок в SQLite, мне трудно разобраться в том, как составлять запросы. Любые указатели на хорошие источники обучения для этого были бы великолепны.
Что я уже пробовал:
Я пробовал читать всевозможные биты справки и учебники, но все еще не могу найти правильный синтаксис.