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

Error en on duplicate key

Estas en el tema de Error en on duplicate key en el foro de Mysql en Foros del Web. No se que hacer, me esta volviendo un poco loco y no se como solucionarlo, pero me da error en esta sentencia: insert into items ...
  #1 (permalink)  
Antiguo 12/02/2010, 03:38
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años, 7 meses
Puntos: 0
Error en on duplicate key

No se que hacer, me esta volviendo un poco loco y no se como solucionarlo, pero me da error en esta sentencia:

insert into items (id_item, name, slots, description) values (501, 'Red Potion', '0' , 'NODESC') ON DUPLICATE KEY UPDATE values name = 'Red Potion', slots = '0', description = 'NODESC'

Espero puedan ayudarme.

Saludos!
  #2 (permalink)  
Antiguo 12/02/2010, 05:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error en on duplicate key

Código MySQL:
Ver original
  1. INSERT INTO items (id_item, name, slots, description)
  2. VALUES(501, 'Red Potion', '0' , 'NODESC')
  3. ON DUPLICATE KEY UPDATE name = 'Red Potion', slots = '0', description = 'NODESC'
VALUES en el ON DUPLICATE KEY se usa, según el manual:

Código MySQL:
Ver original
  1. INSERT INTO items (id_item, name, slots, description)
  2. VALUES(501, 'Red Potion', '0' , 'NODESC')
  3. ON DUPLICATE KEY UPDATE VALUES('Red Potion', '0', 'NODESC')
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/02/2010, 11:02
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Error en on duplicate key

Muchas gracias por responder... pero parece que ese también esta mal...

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('Red Potion', '0', 'NODESC')' at line 3

Por mas que busco no se cual puede ser la razón.

Espero ayuda >__<
  #4 (permalink)  
Antiguo 12/02/2010, 14:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error en on duplicate key

¿Probaste las dos formas o una sola?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/02/2010, 04:49
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Error en on duplicate key

Cierto es maestro, la primera funciona perfectamente... y yo sin fijarme >__<

Karma para ti!

Muchas gracias!
  #6 (permalink)  
Antiguo 13/02/2010, 04:56
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Error en on duplicate key

Ademas he encontrado la forma de que si alguien hace un insert multiple (meter varias filas en un insert también funcione)

INSERT INTO items (id_item, name, slots, description)
VALUES(501, 'mod1', '0' , 'siiii') , (502, 'prueba 502', '2', 'desc2')
ON DUPLICATE KEY UPDATE name = VALUES(name), slots = values(slots), description=values(description)

Saludos y gracias por la ayuda!!
  #7 (permalink)  
Antiguo 13/02/2010, 05:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error en on duplicate key

Me alegro que todo funcionara...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: duplicate, key
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 13:02.