我正在SQLite.swift库上运行一个简单查询,从我的表中选择id
和start_time
,其中start_time
列的值大于零。
let query = table.where(self.columns.start_time > 0).select(self.columns.id, self.columns.start_time)
for i in try db.prepare(query) {
print(i)
let id = try i.get(self.columns.id)
let start_time = try i.get(self.columns.start_time) // This throws error
}
[self.columns
是此类的实例:
private class Columns {
let id = Expression<Int>("id")
let start_time = Expression<Double>("start_time")
}
我在抱怨start_time
出现意外的空值时遇到错误,>
"start_time"
列的意外空值其中的值确实为非null。实际上,当我打印出行(变量i)时,它是这样的:
Row(columnNames: ["\"id\"": 0, "\"start_time\"": 1], values: [Optional(355487), Optional(1585212120000)])
显然,该值不是null。那这是怎么回事?
我正在SQLite.swift库上运行一个简单的查询,从我的表中选择id和start_time,其中start_time列的值大于零。让查询= table.where(self.columns ....
我不熟悉从行中提取值的这种方式。我会这样: