Actualizando la columna para que contenga la posición de la fila

Este es elcontent mesa:

ContentID | CategoryID | Position | Other1 | Other2
===================================================
1         | 1          | NULL     | abcd   | efgh
2         | 1          | NULL     | abcd   | efgh
3         | 1          | NULL     | abcd   | efgh
4         | 2          | NULL     | abcd   | efgh
5         | 2          | NULL     | abcd   | efgh
6         | 2          | NULL     | abcd   | efgh

Estas son las consultas que estaré ejecutando:

SELECT ContentID FROM content WHERE CategoryID = 1 ORDER BY Position
SELECT ContentID FROM content WHERE CategoryID = 2 ORDER BY Position

Ahora quiero implementar mover hacia arriba, mover hacia abajo, mover hacia arriba y mover hacia abajo para el contenido. Todo lo que necesito hacer es llenar la columna Posición con números:

ContentID | CategoryID | Position
=================================
1         | 1          | 1
2         | 1          | 2
3         | 1          | 3
4         | 2          | 1
5         | 2          | 2
6         | 2          | 3

¿Es posible lograr esto mediante una única consulta en MySQL? Algo como:

UPDATE content
SET Position = <ROW_NUMBER>
WHERE CategoryID = 1
ORDER BY Position

UPDATE content
SET Position = <ROW_NUMBER>
WHERE CategoryID = 2
ORDER BY Position

Respuestas a la pregunta(4)

Su respuesta a la pregunta