¿Cómo puedo cambiar los datos en una sola celda de una tabla mysql? Tengo un problema con UPDATE porque hace que todos los parámetros de una columna cambien pero solo quiero que se modifique uno. ¿Cómo?
¿Cómo puedo cambiar los datos en una sola celda de una tabla mysql? Tengo un problema con UPDATE porque hace que todos los parámetros de una columna cambien pero solo quiero que se modifique uno. ¿Cómo?
Respuestas:
Probablemente necesite especificar qué filas desea actualizar ...
UPDATE
mytable
SET
column1 = value1,
column2 = value2
WHERE
key_value = some_value;
UPDATE mytable SET column1 = new_value WHERE column1 = old_value;
??
Mi respuesta es repetir lo que otros han dicho antes, pero pensé que agregaría un ejemplo, usando MySQL
, solo porque las respuestas anteriores fueron un poco crípticas para mí.
La forma general del comando que necesita usar para actualizar la columna de una sola fila:
UPDATE my_table SET my_column='new value' WHERE something='some value';
Y aquí hay un ejemplo.
ANTES DE
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10104 |
+------------+-------+
2 rows in set (0.00 sec)
HACIENDO EL CAMBIO
mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
DESPUÉS
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
UPDATE
solo cambiará las columnas que enumere específicamente.
UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
La WHERE
cláusula limita qué filas se actualizan. En general, usaría esto para identificar el valor de la clave principal (o ID) de su tabla, de modo que esté actualizando solo una fila.
La SET
cláusula le dice a MySQL qué columnas actualizar. Puede enumerar tantas o tan pocas columnas como desee. Todo lo que no enumeres no se actualizará.
Intenta lo siguiente:
UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
@parameterName
?
prueba esto.
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
Algunas de las columnas en MySQL tienen una cláusula "en actualización", vea:
mysql> SHOW COLUMNS FROM your_table_name;
No estoy seguro de cómo actualizar esto, pero publicaré una edición cuando me entere.