Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con Updates

Estas en el tema de Problema con Updates en el foro de Mysql en Foros del Web. Hola miren tengo una tabla llamada k_pins la cual tiene los siguientes campos id - int con autoincrement id_pin para identificar de otra tabla id_usuario ...
  #1 (permalink)  
Antiguo 26/12/2010, 22:42
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 11 meses
Puntos: 3
Problema con Updates

Hola miren tengo una tabla llamada k_pins la cual tiene los siguientes campos

id - int con autoincrement
id_pin para identificar de otra tabla
id_usuario para saber de que usuario es un pin
orden para saber en que orden quiere el usuario que se muestre el pin

El problema es cuando hago la siguiente consulta me cambia a todos los valores de orden a 10, la consulta es la siguiente

Código:
UPDATE k_pins_usuarios SET orden = '2' WHERE orden = '1' AND id_usuario = '2'
UPDATE k_pins_usuarios SET orden = '3' WHERE orden = '2' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '4' WHERE orden = '3' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '5' WHERE orden = '4' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '6' WHERE orden = '5' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '7' WHERE orden = '6' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '8' WHERE orden = '7' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '9' WHERE orden = '8' AND id_usuario = '2';
UPDATE k_pins_usuarios SET orden = '10' WHERE orden = '9' AND id_usuario = '2';
Es el codigo que utilizo para modificar el valor de orden
  #2 (permalink)  
Antiguo 27/12/2010, 03:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 7 meses
Puntos: 574
Respuesta: Problema con Updates

Código MySQL:
Ver original
  1. UPDATE k_pins_usuarios SET orden = '10' WHERE orden = '9' AND id_usuario = '2';
  2. UPDATE k_pins_usuarios SET orden = '9' WHERE orden = '8' AND id_usuario = '2';
  3. UPDATE k_pins_usuarios SET orden = '8' WHERE orden = '7' AND id_usuario = '2';
  4. UPDATE k_pins_usuarios SET orden = '7' WHERE orden = '6' AND id_usuario = '2';
  5. UPDATE k_pins_usuarios SET orden = '6' WHERE orden = '5' AND id_usuario = '2';
  6. UPDATE k_pins_usuarios SET orden = '5' WHERE orden = '4' AND id_usuario = '2';
  7. UPDATE k_pins_usuarios SET orden = '4' WHERE orden = '3' AND id_usuario = '2';
  8. UPDATE k_pins_usuarios SET orden = '3' WHERE orden = '2' AND id_usuario = '2';
  9. UPDATE k_pins_usuarios SET orden = '2' WHERE orden = '1' AND id_usuario = '2';

Intentalo así .... y luego piensa porque así funciona y en tu orden no.


El campo orden debería ser numerico, si no cuando quieras ordenar se va a ordenar así 1,10,2,3,4,....

Si el campo fuese numérico tendirías otra solución al problema anterior

Código MySQL:
Ver original
  1. UPDATE k_pins_usuarios SET orden = orden+1 WHERE id_usuario = '2';

Si?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 27/12/2010 a las 03:26
  #3 (permalink)  
Antiguo 27/12/2010, 05:22
Avatar de 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, 11 meses
Puntos: 2658
Respuesta: Problema con Updates


¡Excelente, quimfv!
Perfecto y sintético...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 27/12/2010, 15:47
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Problema con Updates



Mil gracias no encontraba forma de solucionarlo, estaba haciendo todo al revez

Ya vi mi error, al actualizar el primero el segundo actualiza 2, el tercero 3 y así hasta terminar todos los updates.

De nuevo muchas gracias :D

Etiquetas: update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:57.