Come posso modificare i dati in una sola cella di una tabella mysql. Ho un problema con UPDATE perché modifica tutti i parametri in una colonna ma ne voglio solo uno modificato. Come?
Come posso modificare i dati in una sola cella di una tabella mysql. Ho un problema con UPDATE perché modifica tutti i parametri in una colonna ma ne voglio solo uno modificato. Come?
Risposte:
Probabilmente dovrai specificare quali righe vuoi aggiornare ...
UPDATE
mytable
SET
column1 = value1,
column2 = value2
WHERE
key_value = some_value;
UPDATE mytable SET column1 = new_value WHERE column1 = old_value;
??
La mia risposta è ripetere ciò che altri hanno detto prima, ma ho pensato di aggiungere un esempio, usando MySQL
, solo perché le risposte precedenti erano un po 'enigmatiche per me.
La forma generale del comando che devi usare per aggiornare la colonna di una singola riga:
UPDATE my_table SET my_column='new value' WHERE something='some value';
Ed ecco un esempio.
PRIMA
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10104 |
+------------+-------+
2 rows in set (0.00 sec)
EFFETTUARE IL CAMBIAMENTO
mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
DOPO
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
UPDATE
cambierà solo le colonne che elenchi in modo specifico.
UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
La WHERE
clausola limita le righe che vengono aggiornate. Generalmente lo useresti per identificare il valore della chiave primaria (o ID) della tabella, in modo da aggiornare solo una riga.
La SET
clausola indica a MySQL quali colonne aggiornare. Puoi elencare quante o quante colonne desideri. Tutti quelli che non vengono elencati non verranno aggiornati.
Prova quanto segue:
UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
@parameterName
?
prova questo.
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
Alcune delle colonne in MySQL hanno una clausola "in aggiornamento", vedi:
mysql> SHOW COLUMNS FROM your_table_name;
Non sono sicuro di come aggiornarlo, ma pubblicherò una modifica quando lo scoprirò.