github.com/RevenueMonster/sqlike@v1.0.6/sql/dialect/mysql/replace.go (about) 1 package mysql 2 3 import ( 4 "github.com/RevenueMonster/sqlike/sql" 5 sqlstmt "github.com/RevenueMonster/sqlike/sql/stmt" 6 ) 7 8 // Replace : 9 func (ms MySQL) Replace(stmt sqlstmt.Stmt, db, table string, columns []string, query *sql.SelectStmt) (err error) { 10 stmt.WriteString("REPLACE INTO ") 11 stmt.WriteString(ms.TableName(db, table) + " ") 12 if len(columns) > 0 { 13 stmt.WriteByte('(') 14 for i, col := range columns { 15 if i > 0 { 16 stmt.WriteByte(',') 17 } 18 stmt.WriteString(ms.Quote(col)) 19 } 20 stmt.WriteByte(')') 21 stmt.WriteByte(' ') 22 } 23 err = ms.parser.BuildStatement(stmt, query) 24 if err != nil { 25 return 26 } 27 stmt.WriteByte(';') 28 return 29 }