             chunks.append(conflictResolution.rawValue)
         }
         
-        if let checkExpression = checkExpression {
+        for checkConstraint in checkConstraints {
             chunks.append("CHECK")
-            var arguments: StatementArguments? = nil // nil so that checkExpression.sql(&arguments) embeds literals
-            chunks.append("(" + checkExpression.sql(&arguments) + ")")
+            var arguments: StatementArguments? = nil // nil so that checkConstraint.sql(&arguments) embeds literals
+            chunks.append("(" + checkConstraint.sql(&arguments) + ")")
         }
         
         if let defaultExpression = defaultExpression {

    ///   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
        return self
    }
    

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