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

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

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

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

【问题讨论】:

    标签: sql swift xcode sqlite exists


    【解决方案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 顺便说一句
    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 2015-07-14
    • 2018-04-22
    • 1970-01-01
    • 2015-08-18
    • 2021-06-03
    • 2017-02-01
    • 2011-08-22
    相关资源
    最近更新 更多