Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/05/2014, 06:52
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Campo extra en decremento

El campo de la variable sale NULL porque debe inicializarse primero la variable:
Código MySQL:
Ver original
  1. SET @a = 0;
  2. SELECT  id,nombre, @a:=@a+1 orden
  3. FROM TuTala
Una variable de usuario (en MySQL son las que tienen una arroba), tiene valor inicial NULL, y toda operación con NULL da NULL.
En tu caso se requiere, para una columna decremental, como te dije, dos querys al menos:
Código MySQL:
Ver original
  1. SET @a = (SELECT COUNT(*) FROM tutabla) +1;
  2. SELECT  id,nombre, (@a:=@a-1) orden
  3. FROM TuTala
Como dije, es posible, pero por más que te parezca una buena idea, es una muy, pero muy mala idea hacer cosas en la base que no son su responsabilidad.
Si empiezas a romper el encapsulamiento de la base y la aplicación, generaras un exceso de acoplamiento, nocivo, que tarde o temprano deberás revertir o te causará problemas severos.
Desde el punto de vista de BBDD es un error, y desde el análisis de sistemas también.
Es tu decisión. Yo no te lo aconsejo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)