From 28f651490c337d6cb1818a96e4a491fb325db7d7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 21 May 2023 18:04:43 +0800 Subject: [PATCH] Update mysql --- Src/Asp.Net/MySqlTest/Demo/Demo2_Updateable.cs | 10 ++++++++++ .../Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/MySqlTest/Demo/Demo2_Updateable.cs b/Src/Asp.Net/MySqlTest/Demo/Demo2_Updateable.cs index 739f0857e..7351138c1 100644 --- a/Src/Asp.Net/MySqlTest/Demo/Demo2_Updateable.cs +++ b/Src/Asp.Net/MySqlTest/Demo/Demo2_Updateable.cs @@ -64,6 +64,16 @@ namespace OrmTest .PublicSetColumns(it => it.Price, it => it.Price + 1) .ExecuteCommand(); + var list = db.Queryable().OrderBy(it => it.Id).Take(2).ToList(); + if (list.Count >= 2) + { + list[0].Price = 10; + list[1].Price = 2; + var result69 = + db.Updateable(list) + .PublicSetColumns(it => it.Price, "+") + .ExecuteCommand(); + } /*** 2.by expression ***/ diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs index 1bca030ed..e50dee77c 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs @@ -109,7 +109,14 @@ namespace SqlSugar foreach (var item in ReSetValueBySqlExpList) { var dbColumnName = item.Value.DbColumnName; - result = result.Replace($"T.{dbColumnName}", item.Value.Sql.Replace(dbColumnName, "S." + dbColumnName)); + if (item.Value.Type == ReSetValueBySqlExpListModelType.List) + { + result = result.Replace($"T.{dbColumnName}", "S." + dbColumnName+item.Value.Sql+ "T." + dbColumnName); + } + else + { + result = result.Replace($"T.{dbColumnName}", item.Value.Sql.Replace(dbColumnName, "S." + dbColumnName)); + } batchUpdateSql = new StringBuilder(result); } }