代码之家  ›  专栏  ›  技术社区  ›  oelna

如何在sqlite.swift中将列设为默认值(空)

  •  1
  • oelna  · 技术社区  · 8 年前

    我试图定义我的数据库结构,但我不知道如何将列的默认值设置为 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 显然不行。我该怎么做呢?

    1 回复  |  直到 8 年前
        1
  •  0
  •   rmaddy    8 年前

    除非在表中使用 NOT NULL 限定符,列的默认值是 NULL . 你不需要做任何特别的事情来获得你想要的行为。

    CREATE TABLE test {
        content TEXT
    };
    

    这样创建表。当您向该表中插入行时,如果不为 content 列中,将添加没有值的行( 无效的 )在那个专栏里。