title: When exactly MySQL locks a row on updating InnoDB table?
body: <p>If I have this multiupdate query</p>
  
  <pre><code>UPDATE user u
  INNER JOIN user_profile up ON up.user_id = u.id
  SET u.name = 'same_name_i_already_had', up.profile.age = 25
  WHERE u.id = 10
  </code></pre>
  
  <p>Let's suppose the row 10 in user table already has the name 'same_name_i_already_had', so it shouldn't be updated.<br><br>
  On the other hand, the row in user_profile table has a different age, so MySQL should update it.<br><br>
  Assuming <strong>MySQL</strong> as RDBMS and <strong>InnoDB</strong> with its row level locking system as the engine of both tables,<br><br><strong>Does MySQL lock the row in user table in spite of not having to update the name field of that row?</strong></p>