Clear SET clause after build SQL
This commit is contained in:
		
							parent
							
								
									63534145fd
								
							
						
					
					
						commit
						c3d7d08b9a
					
				| @ -72,6 +72,7 @@ func Update(config *Config) func(db *gorm.DB) { | |||||||
| 			db.Statement.AddClauseIfNotExists(clause.Update{}) | 			db.Statement.AddClauseIfNotExists(clause.Update{}) | ||||||
| 			if _, ok := db.Statement.Clauses["SET"]; !ok { | 			if _, ok := db.Statement.Clauses["SET"]; !ok { | ||||||
| 				if set := ConvertToAssignments(db.Statement); len(set) != 0 { | 				if set := ConvertToAssignments(db.Statement); len(set) != 0 { | ||||||
|  | 					defer delete(db.Statement.Clauses, "SET") | ||||||
| 					db.Statement.AddClause(set) | 					db.Statement.AddClause(set) | ||||||
| 				} else { | 				} else { | ||||||
| 					return | 					return | ||||||
|  | |||||||
| @ -208,13 +208,17 @@ func TestUpdateColumn(t *testing.T) { | |||||||
| 	CheckUser(t, user1, *users[0]) | 	CheckUser(t, user1, *users[0]) | ||||||
| 	CheckUser(t, user2, *users[1]) | 	CheckUser(t, user2, *users[1]) | ||||||
| 
 | 
 | ||||||
| 	DB.Model(users[1]).UpdateColumn("name", "update_column_02_newnew") | 	DB.Model(users[1]).UpdateColumn("name", "update_column_02_newnew").UpdateColumn("age", 19) | ||||||
| 	AssertEqual(t, lastUpdatedAt.UnixNano(), users[1].UpdatedAt.UnixNano()) | 	AssertEqual(t, lastUpdatedAt.UnixNano(), users[1].UpdatedAt.UnixNano()) | ||||||
| 
 | 
 | ||||||
| 	if users[1].Name != "update_column_02_newnew" { | 	if users[1].Name != "update_column_02_newnew" { | ||||||
| 		t.Errorf("user 2's name should be updated, but got %v", users[1].Name) | 		t.Errorf("user 2's name should be updated, but got %v", users[1].Name) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if users[1].Age != 19 { | ||||||
|  | 		t.Errorf("user 2's name should be updated, but got %v", users[1].Age) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	DB.Model(users[1]).UpdateColumn("age", gorm.Expr("age + 100 - 50")) | 	DB.Model(users[1]).UpdateColumn("age", gorm.Expr("age + 100 - 50")) | ||||||
| 	var user3 User | 	var user3 User | ||||||
| 	DB.First(&user3, users[1].ID) | 	DB.First(&user3, users[1].ID) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jinzhu
						Jinzhu