     ///   represents the defined column, and returns the expression to check.
     /// - returns: Self so that you can further refine the column definition.
     public func check(@noescape condition: (SQLColumn) -> SQLExpressible) -> ColumnDefinition {
-        checkExpression = condition(SQLColumn(name)).sqlExpression
+        checkConstraints.append(condition(SQLColumn(name)).sqlExpression)
         return self
     }
     

    private var primaryKey: (conflictResolution: SQLConflictResolution?, autoincrement: Bool)?
    private var notNullConflictResolution: SQLConflictResolution?
    private var uniqueConflictResolution: SQLConflictResolution?
    private var checkExpression: _SQLExpression?
    private var defaultExpression: _SQLExpression?
    private var collationName: String?
    private var reference: (table: String, column: String?, deleteAction: SQLForeignKeyAction?, updateAction: SQLForeignKeyAction?, deferred: Bool)?

    /// - parameter sql: An SQL snippet.
    /// - returns: Self so that you can further refine the column definition.
    public func check(sql sql: String) -> ColumnDefinition {
        checkConstraints.append(_SQLExpression.Literal(sql, nil))
        return self
    }
    
