Как сделать столбец DEFAULT (NULL) в 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 явно не работает. Что мне установить вместо этого?


person oelna    schedule 16.06.2018    source источник


Ответы (1)


Если вы не создадите столбец в таблице с квалификатором NOT NULL, значением столбца по умолчанию будет NULL. Вам не нужно делать ничего особенного, чтобы получить желаемое поведение.

CREATE TABLE test {
    content TEXT
};

Создайте таблицу таким образом. Если при вставке строк в эту таблицу вы не укажете конкретное значение для столбца content, строка будет добавлена ​​без значения (NULL) в этом столбце.

person rmaddy    schedule 16.06.2018