defaultValueSQL
The SQL snippet that defines the default value, if any.
let defaultValueSQL: String?
When nil, the column has no default value.
When not nil, it contains an SQL string that defines an expression. That expression may be a literal, as 1
, or 'foo'
. It may also contain a non-constant expression such as CURRENT_TIMESTAMP
.
Related SQLite documentation: https://www.sqlite.org/lang_createtable.html#the_default_clause.
For example:
try db.execute(sql: """
CREATE TABLE player(
id INTEGER PRIMARY KEY,
name TEXT DEFAULT 'Anonymous',
score INT DEFAULT 0,
creationDate DATE DEFAULT CURRENT_TIMESTAMP
)
""")
let columnInfos = try db.columns(in: "player")
columnInfos[0].defaultValueSQL // nil
columnInfos[1].defaultValueSQL // "'Anonymous'"
columnInfos[2].defaultValueSQL // "0"
columnInfos[3].defaultValueSQL // "CURRENT_TIMESTAMP"
Related SQLite documentation: https://www.sqlite.org/lang_createtable.html#the_default_clause.