Sie könnten eine Join-Ungleichung verwenden, um die Zeilen auszurichten, die Sie austauschen möchten:
update fruit a
inner join fruit b on a.id <> b.id
set a.color = b.color,
a.name = b.name,
a.calories = b.calories
where a.id in (2,5) and b.id in (2,5)
http://sqlfiddle.com/#!18/27318a/5