No se puede actualizar la columna de tipo int en mysql

¿Qué hay de malo en esta consulta de mysql?

ACTUALIZAR respuestas SET 23 = 2 DONDE user_id = '1';

Estoy tratando de actualizar un campo int (2), y esto simplemente no funciona.

23 es el nombre de la columna por cierto

preguntado el 09 de marzo de 12 a las 15:03

¿Es 23 el nombre de tu campo? Publique la estructura de su tabla -

sí, 23 es el nombre del campo -

No estoy seguro de a quién culpar más, a los que nombran sus columnas con números oa los programadores que permitieron que sucediera. -

@Mladen: Comparta con nosotros una condición que tenga en su código con algo como WHERE `23`+`4`=`42` -

5 Respuestas

If 23 es el nombre de su columna, luego escápelo usando `

UPDATE answers 
SET `23` = 2 
WHERE user_id ='1';

respondido 09 mar '12, 15:03

No, 23 es el nombre de la columna, pero quiero que suceda donde user_id = 1 - Mladen

Suponiendo que la columna que intenta actualizar se llame value, debe usar un código como el siguiente:

UPDATE answers SET value = 2 WHERE user_id ='1' and value='23';

EDITAR

Con respecto a este comentario:

sí, 23 es el nombre del campo - Mladen

UPDATE answers SET `23`= 2 WHERE user_id ='1';

Esta debería ser la consulta correcta. Sin embargo, no debe usar solo números como nombres de columna, por la razón que acaba de encontrar: MySQL podría confundirlos con el identificador de número con un número real y, por lo tanto, sus consultas podrían fallar.

respondido 09 mar '12, 15:03

UPDATE answers SET [23] = 2 WHERE user_id ='1';
or 
    UPDATE answers SET `23` = 2 WHERE user_id ='1';

respondido 09 mar '12, 16:03

Necesita ser

UPDATE answers SET <column_name> = 2 WHERE user_id ='1';

respondido 09 mar '12, 15:03

If 23 es el nombre de su campo, entonces debe escapar de esta manera:

UPDATE answers SET `23` = 2
WHERE user_id ='1';

Eso es porque no lo está interpretando como un campo sino como un número.

Ejemplo

Espero que ayude.

respondido 09 mar '12, 15:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.