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

Problemas con update

Estas en el tema de Problemas con update en el foro de Mysql en Foros del Web. Hola a todos, tendo un problemilla que me trae de cabeza... es el siguiente: - Quiero meter un entero en una columna de una tabla, ...
  #1 (permalink)  
Antiguo 10/03/2013, 09:26
 
Fecha de Ingreso: noviembre-2012
Mensajes: 84
Antigüedad: 11 años, 5 meses
Puntos: 5
Problemas con update

Hola a todos, tendo un problemilla que me trae de cabeza... es el siguiente:

- Quiero meter un entero en una columna de una tabla, para ello prueblo lo siguiente:
("UPDATE tabla SET campo="+2+" WHERE codigo='"+code+"'")

He estado haciendo más "updates" de cadenas sin problemas.
en la base de Datos el campo es entero.... es error de sintaxis, pero cual???

Mencionar que el lenguaje es java.... Bueno gracias !! Un Saludo!!
  #2 (permalink)  
Antiguo 10/03/2013, 11: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, 4 meses
Puntos: 2658
Respuesta: Problemas con update

Cita:
Mencionar que el lenguaje es java....
El lenguaje de programación no es relevante, porque lo que nos interesa es el SQL. Programación es off-topic.

Ahora bien, mirando lo que nos interesa, tendríamos:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo="+2+"
  3. WHERE codigo='"+code+"'
En este punto, no hay errores sintácticos, al menos detectables aquí, pero no podemos saber si el contenido de las variables no genera problemas, o tampoco el resultado lo estás enviando correctamente.
Ese es el problema de mostrarnos los códigos de programación: Esconden cosas importantes detrás de las variables.
Dinos exactamente cuál es el mensaje de error devuelto (no lo describas, cópialo y pégalo aquí), y posteanos la sentencia creada, una vez que los valores de las variables ya estén embebidas, es decir, lo que realmente MySQL está recibiendo.
__________________
¿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 10/03/2013, 11:45
 
Fecha de Ingreso: noviembre-2012
Mensajes: 84
Antigüedad: 11 años, 5 meses
Puntos: 5
Respuesta: Problemas con update

Gracias por responder!!

Este es el mensaje:

-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 'name=2 WHERE CODE=PHMZ' at line 1

Hago incapié en que solo me da error al meter enteros, con String no...
  #4 (permalink)  
Antiguo 10/03/2013, 12: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: 16 años, 4 meses
Puntos: 2658
Respuesta: Problemas con update

Pues en principio, algo no te está funcionando bien, porque por ejemplo, el código parece no estar apareciendo como cadena de texto.
Es decir, si le codigo fuese por ejemplo "PHMZ", el UPDATE debería ser:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo=2
  3. WHERE codigo='PHMZ'
y no
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo=2
  3. WHERE codigo=PHMZ
En el primer caso es una cadena de texto, mientras que en el segundo es una columna llamada PHMZ. No es lo mismo.
Por otro lado veo que el WHERE no contiene una referencia a un campo llamado "CODIGO", sino a uno llamado "CODE", por lo que no nos estás dando la información correcta.
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo=2
  3. WHERE CODE='PHMZ'
El problema, en ese caso, es que CODE es una palabra reservada, por lo que no debe ser usada como nombre de campo, tabla, base o ningún objeto de base de datos porque puede producir errores de sintaxis indetectables.
Si es absolutamente necesario que sea esa la palabra, deben si o sí estar encerrados entre acentos graves:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo=2
  3. WHERE `CODE`= 'PHMZ'
__________________
¿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: campo, tabla, 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 20:35.