code: func UpdateMulticastGroup(db sqlx.Execer, mg *MulticastGroup) error {
  	mg.UpdatedAt = time.Now()
  
  	res, err := db.Exec(`
  		update
  			multicast_group
  		set
  			updated_at = $2,
  			mc_addr = $3,
  			mc_nwk_s_key = $4,
  			f_cnt = $5,
  			group_type = $6,
  			dr = $7,
  			frequency = $8,
  			ping_slot_period = $9,
  			service_profile_id = $10,
  			routing_profile_id = $11
  		where
  			id = $1`,
  		mg.ID,
  		mg.UpdatedAt,
  		mg.MCAddr[:],
  		mg.MCNwkSKey[:],
  		mg.FCnt,
  		mg.GroupType,
  		mg.DR,
  		mg.Frequency,
  		mg.PingSlotPeriod,
  		mg.ServiceProfileID,
  		mg.RoutingProfileID,
  	)
  	if err != nil {
  		return handlePSQLError(err, "update error")
  	}
  	ra, err := res.RowsAffected()
  	if err != nil {
  		return handlePSQLError(err, "get rows affected error")
  	}
  	if ra == 0 {
  		return ErrDoesNotExist
  	}
  
  	log.WithFields(log.Fields{
  		"id": mg.ID,
  	}).Info("multicast-group updated")
  
  	return nil
  }
docs: // UpdateMulticastGroup updates the given multicast-grup.