在xcode中通过sqlite3检查存在

Posted

技术标签:

【中文标题】在xcode中通过sqlite3检查存在【英文标题】:Checking existance through sqlite3 in xcode 【发布时间】:2020-08-26 01:47:20 【问题描述】:

我正在通过应用程序 xcode 在 swift 文件中使用 sqlite3。我目前正在从事一个日记项目,您每天记录一个日记条目,并且我将内容、记录的日期等存储在数据库中。现在我正在尝试实现一种方法来检查是否已经存在给定日期的日志。我在 sqlite3_prepare_v2 中使用以下查询

IF EXISTS
        (
            SELECT *
            FROM journal
            WHERE date = ?)
        )

(我使用 ? 稍后绑定给定日期 btw)如何检查此查询的评估是真还是假并将该值设置为变量? sqlite3_step() 会返回此查询的返回值吗?谢谢!

【问题讨论】:

【参考方案1】:

你可以这样做:

select exists (select 1 from journal where date = ?) as flag

这总是给你一个标量结果(一行一列,称为flag),0/1 值指示是否至少有一条记录满足条件。

另一种选择是:

select count(*) > 0 as res
from journal
where date = 1

【讨论】:

你知道我可以在 swift 变量中访问 this 结果的返回值,因为我想使用这个 0/1 返回值来影响我的 swift 函数。我正在使用 sqlite 顺便说一句

以上是关于在xcode中通过sqlite3检查存在的主要内容,如果未能解决你的问题,请参考以下文章

检查文件夹是不是已经存在,如果没有在 laravel 中通过 id 创建一个新文件夹

Sqlit--学习教程(建立数据库表)

python连接sqlite3出错

测试在 Xcode 中通过,但在 Circleci 上失败

如何在 Xcode 中通过代码触发按钮

在Xcode 8中通过一些错误运行项目后[重复]