Reading the documentation
Single-table UPDATE assignments are generally evaluated from left to right. For multiple-table updates, there is no guarantee that assignments are carried out in any particular order.
I can't figure out if "evaluation" is the same as "assignment"
set col1 = (@v := col1) + 1, col2 = @v
In a multiple-table update, will col2 always have the original value of col1?