通过XCode中的sqlite3检查存在性

问题描述

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

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

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

解决方法

您可以这样做:

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

这始终为您提供标量结果(一行和一列,称为flag),其值为0 / 1,该值指示至少一条记录是否满足条件。

另一个选择是:

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...