如何在 SQLite.swift 中设置列​​ DEFAULT(NULL)

oel*_*lna 3 swift sqlite.swift

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

CREATE TABLE test (
    content text DEFAULT(NULL),
);
Run Code Online (Sandbox Code Playgroud)

我有以下代码

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

try self.db.run(test.create { t in
    t.column(content, defaultValue: nil)
})
Run Code Online (Sandbox Code Playgroud)

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

rma*_*ddy 9

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

CREATE TABLE test {
    content TEXT
};
Run Code Online (Sandbox Code Playgroud)

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