diff --git a/internal/statements/update.go b/internal/statements/update.go index d39baa5f..91154c17 100644 --- a/internal/statements/update.go +++ b/internal/statements/update.go @@ -342,15 +342,11 @@ func (statement *Statement) writeUpdateTableName(updateWriter *builder.BytesWrit } func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) (builder.Cond, error) { - if len(statement.joins) == 0 { - return builder.NewCond(), nil - } - - if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { - return nil, err - } - if statement.dialect.URI().DBType == schemas.MSSQL { + if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { + return nil, err + } + if _, err := fmt.Fprint(updateWriter, " ", statement.quote(statement.TableName())); err != nil { return nil, err } @@ -361,6 +357,16 @@ func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) ( } } + if len(statement.joins) == 0 { + return builder.NewCond(), nil + } + + if statement.dialect.URI().DBType != schemas.MSSQL { + if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { + return nil, err + } + } + cond := builder.NewCond() for i, join := range statement.joins { if statement.dialect.URI().DBType == schemas.MSSQL || i > 0 {