     var notNullConflictResolution: SQLConflictResolution?
     var uniqueConflictResolution: SQLConflictResolution?
     var checkExpression: _SQLExpression?
-    var defaultExpression: _SQLExpression?
+    var defaultValue: DatabaseValueConvertible?
     var collationName: String?
     var reference: (table: String, column: String?, deleteAction: SQLForeignKeyAction?, updateAction: SQLForeignKeyAction?, deferred: Bool)?
     

    
    // TODO: doc
    // TODO: defaults(sql: "CURRENT_TIMESTAMP")
    // TODO: _SQLExpressible or DatabaseValueConvertible?
    public func defaults(value: _SQLExpressible) {
        defaultExpression = value.sqlExpression
    }
    
    // TODO: doc

            chunks.append("(" + checkExpression.sql(&arguments) + ")")
        }
        
        if let defaultValue = defaultValue {
            var arguments: StatementArguments? = nil // nil so that defaultValue.sqlExpression.sql(&arguments) embeds literals
            chunks.append("DEFAULT")
            chunks.append("(" + defaultValue.sqlExpression.sql(&arguments) + ")")
        }
        
        if let collationName = collationName {
