Каким образом я могу проверить таблицу SQLite на существование нужной мне записи?

123
30 июля 2019, 07:00

У меня есть форма регистрации. Нужно, чтобы если пользователь вводил имя, существующее в базе данных, ему выдавалась ошибка.

Догадываюсь, что это очень просто, но сам до этого додуматься не могу.

Answer 1

Надо использовать UNIQUE constraint. Решение задачи через cursor не оптимально, так как:

  • Перебор всех записей для проверки наличия такой записи потребует времени; более того, при увеличении количества записей это время будет расти - либо линейно O(N). Для поддержки UNIQUE constraint SQLite создаст индексе, будет делать эту проверку за вас сама, причем за время O(log(N)).

  • Пока на таблице нет UNIQUE constraint нет никакой гарантии, что какой-либо другой код, в котором еще нет этой проверки, не вставит дубликат в таблицу.

READ ALSO
The driver has not received any packets from the server

The driver has not received any packets from the server

У меня есть приложение, которое я подготовил для запуска в dokcer:

110
Как отправить SMS в фоновом режиме? (API Min равно 22)

Как отправить SMS в фоновом режиме? (API Min равно 22)

Нужно чтобы программа работала в фоновом режиме и с определенным интервалом отправляла смс сообщенияВот код службы

121
Парсинг строки в Java в HashMap

Парсинг строки в Java в HashMap

Как правильнее распарсить строкуСтрока вот такого типа: key:value|key:value|key:value

130