ruby - SQLite 检查行是否存在

标签 ruby sqlite

我正在尝试检查我的 sqlite 数据库中名为“Products”的表中是否存在特定 ID。

def existsCheck( db, id )
    temp = db.execute( "select exists(
        select 1
        from Products
        where promoID = ?
    ) ", [id] )
end

这是我当前的代码,但它返回一个数组,这意味着我必须先处理转换,然后才能将其用作 bool 值。有什么想法可以改变它,以便它返回一个值为 1 的 int 吗?

最佳答案

不需要使用子查询:

def existsCheck( db, id )
    db.execute( "select 1
                 from Products
                 where promoID = ?",
                [id] ).length > 0
end

这将返回一个 bool 结果。

关于ruby - SQLite 检查行是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488593/

相关文章:

sqlite - 在 SQLite 中选择所有具有 MAX 值的行?

android - 获取 SQLite 单个单元格并在单个 TextView 中显示

docker - Docker卷安装路径

ruby - 如何将整数和字符串数组转换为字符串,但在字符串周围保留单引号?

android - 最近添加到数据库中的记录

java - JDBC SQLite 路径

css - 获取 ID 以 "ABC"开头的所有节点

ruby-on-rails - 是否可以在 Rails 中获取原始参数字符串?

php - 用PHP加密的openssl需要用Ruby解密

ruby - compass 路径需要更正