mirror of
https://gitea.com/xorm/xorm.git
synced 2025-10-06 00:43:56 +02:00
Fix update with Alias (#1455)
This commit is contained in:
@@ -377,10 +377,23 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
|
||||
return 0, errors.New("No content found to be updated")
|
||||
}
|
||||
|
||||
sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v",
|
||||
var tableAlias = session.engine.Quote(tableName)
|
||||
var fromSQL string
|
||||
if session.statement.TableAlias != "" {
|
||||
switch session.engine.dialect.DBType() {
|
||||
case core.MSSQL:
|
||||
fromSQL = fmt.Sprintf("FROM %s %s ", tableAlias, session.statement.TableAlias)
|
||||
tableAlias = session.statement.TableAlias
|
||||
default:
|
||||
tableAlias = fmt.Sprintf("%s AS %s", tableAlias, session.statement.TableAlias)
|
||||
}
|
||||
}
|
||||
|
||||
sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v%v",
|
||||
top,
|
||||
session.engine.Quote(tableName),
|
||||
tableAlias,
|
||||
strings.Join(colNames, ", "),
|
||||
fromSQL,
|
||||
condSQL)
|
||||
|
||||
res, err := session.exec(sqlStr, append(args, condArgs...)...)
|
||||
|
Reference in New Issue
Block a user