Sqlite вставить, если не в таблице исключений - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь вставить вкладку в таблицу записей, если значение не существует в таблице исключений.

      INSERT INTO Records(Front, Back) VALUES ( ?, ?)
        WHERE NOT EXISTS (SELECT VALUE FROM Exclusion WHERE INSTR(VALUE, Back))

Так что, если часть VALUE найдена в исключениитаблица найдена в «Назад», затем не вставляйте.

Формат таблицы исключений - «Ключ», «Значение»

Когда я пытаюсь запустить эту запись, ни одна из моих записей не вставляется.Это также должно работать и вставлять все записи, если таблица исключений пуста.

TIA

1 Ответ

2 голосов
/ 30 апреля 2019

Вы не можете использовать предложение WHERE в выражении INSERT INTO...VALUES...
Вместо этого используйте INSERT INTO...SELECT.. вот так:

INSERT INTO Records(Front, Back) 
SELECT frontvalue, backvalue
WHERE NOT EXISTS (SELECT VALUE FROM Exclusion WHERE INSTR(VALUE, backvalue) > 0)

Вы можете использовать оператор LIKE вместо функции INSTR():

WHERE VALUE LIKE '%' || backvalue || '%' 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...