Как проверить, существует ли что-то в базе данных SQL? - PullRequest
1 голос
/ 27 августа 2009

Прямо сейчас, используя SQLite, я пишу ниже (я могу перейти к mysql или ms sql)

command.CommandText = "SELECT count(reset_key) user_data WHERE reset_key=@key;";

Это работает, но есть ли более оптимизированный или более чистый способ?

Ответы [ 4 ]

4 голосов
/ 27 августа 2009

Это самый чистый, самый оптимизированный способ. Убедитесь, что на reset_key есть индекс, и он будет очень-очень быстрым.

0 голосов
/ 27 августа 2009
command.CommandText = "SELECT TOP 1 1 FROM user_data WHERE reset_key=@key"

if (commmand.ExecuteScalar() == null)
{
    //code for no matches here
}
0 голосов
/ 27 августа 2009

SQLite поддерживает предложение LIMIT. Это может помочь.

РЕДАКТИРОВАТЬ: я не знаю синтаксис SQLite. Но в смысле SQL это будет выглядеть как

Select 1 From user_Data Where reset_key = @key LIMIT 1
0 голосов
/ 27 августа 2009

Попробуйте

  Select Case When Exists (Select * From user_Data
                           Where reset_key = @key)
              Then 1 Else 0 End
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...