如何将sqlite.swift语句打印为SQL?

时间:2016-11-22 16:45:20

标签: sql swift sqlite.swift

我正在尝试调试一些没有提供我期望的结果的sqlite.swift语句。

文档显示了注释中SQL的示例。

for user in try db.prepare(users.select(id, email)) {
    print("id: \(user[id]), email: \(user[email])")
    // id: 1, email: alice@mac.com
}
// SELECT "id", "email" FROM "users"

如何获取打印该SQL的语句?

print("\(users.select(id, email))")没有给我SQL。我是否忽略了文档中的内容?

2 个答案:

答案 0 :(得分:3)

如果要查看正在执行的SQL,请打印(query.asSQL())

let query = dbTable
            .filter(dbSourceKey == Int64(minElement))
            .filter(dbTargetKey == Int64(maxElement))

print(query.asSQL())//Will show SQL statement

答案 1 :(得分:1)

以下命令将打印所有SQL语句:

db.trace(print)

请参阅https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md#logging