SQL: проверьте, какой идентификатор уже существует - PullRequest
3 голосов
/ 01 августа 2010

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

Я пытаюсь сделать это для базы данных sqlite. Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 августа 2010

Перетащите идентификаторы в таблицу и попробуйте:

SELECT C.id
FROM checkids C
LEFT JOIN mytable M
ON M.id = C.id
WHERE M.id IS NULL
0 голосов
/ 02 августа 2010

Вы можете использовать оператор IN; например, чтобы проверить идентификаторы 1, 2, 8 и 42, вы должны сделать:

SELECT id
FROM tbl
WHERE id IN (1, 2, 8, 42);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...