Una posible solución puede ser crear dos campos temporales para ir pasando los datos.
//creas 2 campos temporales en tabla.
Código sql:
Ver originalALTER TABLE tabla1 ADD COLUMN(campo_temporal tipo_de_dato);
ALTER TABLE tabla1 ADD COLUMN(campo_temporal2 tipo_de_dato);
//Aca llenas el campo con los valores de del campo.
Código sql:
Ver originalUPDATE tabla1 SET campo_temporal = campo1;
UPDATE tabla1 SET campo_temporal2 = campo3;
//aca pasas a campo1 lo de campo5.
//aca pasas lo de de campo_temporal a campo3
Código sql:
Ver originalUPDATE tabla1 SET campo3 = campo_temporal;
//aca pasas lo de campo_temporal2 a campo5
Código sql:
Ver originalUPDATE tabla1 SET campo5 = campo_temporal2;
//aca borras nuevamente los campos temporales.
Código sql:
Ver originalALTER TABLE tabla1 DROP COLUMN campo_temporal;
ALTER TABLE tabla1 DROP COLUMN campo_temporal2;
Un saludo