title: Create or Update is not returning updated value in GORM
body: <p>Following is my model:</p>
  
  <pre><code>type Room struct {
      PK        string `sql:"size:255;not null;"gorm:"primary_key"`
      CreatedAt time.Time
      UpdatedAt time.Time
      DeletedAt *time.Time
  
      LastSentMessageSeq int64
      RoomID             string `sql:"size:255;not null;"gorm:"unique_index:rooms_room_id_client_id"`
      User               User
      UserID             string `sql:"size:255;not null"`
      Client             Client
      ClientID           string `sql:"size:255;not null"gorm:"unique_index:rooms_room_id_client_id"`
  }
  </code></pre>
  
  <p>I am using Postgres. I am trying to do update or create operation. If row exists, increment <code>LastSentMessageSeq</code> field or else insert a new one.  Following is my code:</p>
  
  <pre><code>var room = Room{ClientID: clientID, RoomID: roomID, UserID: usedID, LastSentMessageSeq: 10}
  err := ws.db.Set("gorm:insert_option", "ON CONFLICT (room_id, client_id) DO UPDATE SET last_sent_message_seq = rooms.last_sent_message_seq + 1").Create(&amp;room).Error
  log.Println(err)
  log.Println(room)
  </code></pre>
  
  <p>However, when I print the room object, it does not have the updated value for the field <code>LastSentMessageSeq</code>. But I can see it is doing upsert operation, i.e. it creates a new row if it does not exist or updates the value of LastSentMessageSeq in the database</p>