UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5, 5 ;
Estoy tratando de utilizar esta consulta para actualizar un conjunto de 5 filas usando MySQL límite, pero está mostrando un error..The de abajo está trabajando¿actualizar varias filas usando límite en mysql?
UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5 ;
¿por qué el primero no funciona?
¿Realmente necesita la doble selección anidada? En ms sql sería algo así como "Where id in (SELECCIONAR TOP 5 id FROM mensajes ORDER BY fecha_añadir DESC)" –
Sí, MySQL no le permite actualizar una tabla de la que selecciona. La selección anidada adicional lo obliga a guardar los resultados en una tabla temporal. –
Cuando pregunta 'si realmente debe hacerlo de esta manera', ¿está insinuando que hay una mejor alternativa para actualizar los registros basados en un rango dado por el orden de uno de sus campos? – deed02392