github.com/RevenueMonster/sqlike@v1.0.6/sql/delete.go (about)

     1  package sql
     2  
     3  import (
     4  	"github.com/RevenueMonster/sqlike/sql/expr"
     5  	"github.com/RevenueMonster/sqlike/sqlike/primitive"
     6  )
     7  
     8  // DeleteStmt :
     9  type DeleteStmt struct {
    10  	Tables     []interface{}
    11  	Conditions primitive.Group
    12  	Sorts      []interface{}
    13  	Max        uint
    14  }
    15  
    16  // From :
    17  func (stmt *DeleteStmt) From() *DeleteStmt {
    18  	return stmt
    19  }
    20  
    21  // Where :
    22  func (stmt *DeleteStmt) Where(fields ...interface{}) *DeleteStmt {
    23  	stmt.Conditions = expr.And(fields...)
    24  	return stmt
    25  }
    26  
    27  // OrderBy :
    28  func (stmt *DeleteStmt) OrderBy(fields ...interface{}) *DeleteStmt {
    29  	stmt.Sorts = fields
    30  	return stmt
    31  }
    32  
    33  // Limit :
    34  func (stmt *DeleteStmt) Limit(num uint) *DeleteStmt {
    35  	if num > 0 {
    36  		stmt.Max = num
    37  	}
    38  	return stmt
    39  }