问题描述
我正在通过应用程序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