iOS Swift SQLite 添加列到表问题

标签 ios swift sqlite

我想使用 swift 将一列添加到 sqlite 数据库中的现有表中,这是我的代码,但在 sqlite3_step 中失败。

func addFavouriteColumn() -> Bool
{
    var querySql = "ALTER TABLE 'Media' ADD COLUMN Favourite INTEGER DEFAULT 0"
    guard let queryStatement = try? prepareStatement(sql: querySql) else {
        return false
    }
    defer {
        sqlite3_finalize(queryStatement)
    }
    return sqlite3_step(queryStatement) == SQLITE_DONE
}

最佳答案

问题是 sqlite3_step(queryStatement) 返回 8,它代表 SQLITE_READONLY,因为数据库文件位于捆绑中,我通过将数据库文件移动到要读写的文档文件夹来修复它,它对于该查询工作正常并添加了新的列到表。

关于iOS Swift SQLite 添加列到表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52654025/

相关文章:

ios - 从当前上下文推送导航

ios - NSOperation 类运行多个操作

ruby - 如何增加 ActiveRecord 中的最大池大小?

iphone - Xcode 泄漏工具不起作用

android - 在 AWS Device Farm 上模拟不同的 WWAN/移动网络条件

ios - 如何为 iOS 应用程序正确使用 setNeedsDisplayInRect?

swift - 将从 ManagedObjectContext 过滤的对象转换为 NSArray

ios - 在不调用 didSelectRowAtIndexPath 的情况下关闭键盘

java - 使用基于光标位置的函数调用 - Android

sqlite - 如何在 SQLite 中分段更新 blob?