swift - 如何在 SQLite.swift 中创建列 DEFAULT(NULL)

标签 swift sqlite.swift

我正在尝试定义我的数据库结构,但我不知道如何将列的默认值设置为 NULL。这就是我想要它产生的:

CREATE TABLE test (
    content text DEFAULT(NULL),
);

我有以下代码

let content = Expression<String?>("content")

try self.db.run(test.create { t in
    t.column(content, defaultValue: nil)
})

但是defaultValue: nil显然不行。我应该设置什么?

最佳答案

除非您使用 NOT NULL 限定符在表中创建列,否则该列的默认值为 NULL。您无需执行任何特殊操作即可获得所需的行为。

CREATE TABLE test {
    content TEXT
};

以这种方式创建表。当您向该表中插入行时,如果您没有为 content 列提供特定值,则该行将在该列中添加没有值 (NULL) .

关于swift - 如何在 SQLite.swift 中创建列 DEFAULT(NULL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891339/

相关文章:

swift - 标签栏 View Controller [Swift 3.0 - Xcode]

swift - 在 Xcode11.4 beta 中测试静默推送通知

iOS。 xcode 在文档目录/开始时复制一个零字节的 sqlite 数据库

ios - Sqlite.swift 获取行值

swift - 无法使用 SQLite.swift 构建命令行项目

ios - 使用事务插入会抛出错误 Sqlite.swift

SwiftUI 如何从所有 View 中查看类

ios - Xcode 调试 View 层次结构 : Unable to capture view hierarchy

ios - 如何将文本字段限制为仅有效小数?

swift - sqlite.swift 数据库表被锁定(代码 :6)