Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003
Mi compañero Luis nos indicaba en Sentido Web cómo simular el rownum de Oracle en MySQL:
SELECT tabla.*, @rownum:=@rownum+1 AS 'rownum' FROM tabla, (SELECT @rownum:=0) r
El problema aparece cuando se quiere hacer un UPDATE asignando el valor de rownum a un campo cuando se necesita un ORDER BY, ya que MySQL no permite usar orden en las consultas de actualización cuando se usan 2 tablas.
La solución pasa por definir previamente una variable que se vaya actualizando para cada fila para la que se realize el UPDATE:
SET @rownum=0; UPDATE tabla SET campo1=@rownum:=@rownum+1 ORDER BY campo2
Puedes escribir lo que quieras, pero por favor hazlo respetando a los demás y en relación al tema que se está tratando. Todo comentario insultante o fuera de lugar será eliminado
Está permitido utilizar las siguientes etiquetas HTML para formatear tu comentario: <a> <b> <blockquote> <i> <u>. Además también puedes utilizar estos emoticonos:
Puedes enviar referencias a esta anotación utilizando esta dirección
Delirios de un Informático :: Gestionado con Bitacorae :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons