我如何检查SQL数据库中是否存在某些内容?

时间:2009-08-27 16:14:00

标签: c# sql

现在使用SQLite我写下面的内容(我可能会转移到mysql或ms sql)

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

这有效,但有更优化或更清洁的方式吗?

4 个答案:

答案 0 :(得分:4)

这是关于最干净,最优化的方式。确保reset_key上有一个索引,它会非常非常快。

答案 1 :(得分:0)

尝试

  Select Case When Exists (Select * From user_Data
                           Where reset_key = @key)
              Then 1 Else 0 End

答案 2 :(得分:0)

SQLite支持LIMIT子句。这可能有所帮助。

编辑:我不知道SQLite语法。但在SQL意义上,它看起来像

Select 1 From user_Data Where reset_key = @key LIMIT 1

答案 3 :(得分:0)

command.CommandText = "SELECT TOP 1 1 FROM user_data WHERE reset_key=@key"

if (commmand.ExecuteScalar() == null)
{
    //code for no matches here
}