Comment puis-je modifier les données dans une seule cellule d'une table mysql. J'ai un problème avec UPDATE parce qu'il fait changer tous les paramètres dans une colonne mais je veux seulement un changement. Comment?Modifier les données d'une cellule dans mysql
Répondre
UPDATE
ne changera que les colonnes que vous listez spécifiquement. La clause WHERE
limite les lignes qui sont mises à jour. Généralement, vous l'utiliserez pour identifier la valeur de clé primaire (ou ID) de votre table, de sorte que vous mettez à jour une seule ligne.
La clause SET
indique à MySQL les colonnes à mettre à jour. Vous pouvez lister autant de colonnes que vous le souhaitez. Tout ce que vous n'indiquez pas ne sera pas mis à jour.
Vous avez probablement besoin de spécifier les lignes que vous souhaitez mettre à jour ...
UPDATE mytable
SET column1 = value1,
column2 = value2
WHERE key_value = some_value;
mise à jour modifie uniquement les valeurs que vous spécifiez
UPDATE table SET cell='new_value' WHERE whatever='somevalue'
Ma réponse répète ce que d'autres ont dit, mais Je pensais ajouter un exemple, en utilisant MySQL
, seulement parce que les réponses précédentes étaient un peu cryptiques pour moi.
La forme générale de la commande que vous devez utiliser pour mettre à jour la colonne d'une seule ligne:
UPDATE my_table SET my_column='new value' WHERE something='some value';
Et voici un exemple.
AVANT
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10104 |
+------------+-------+
2 rows in set (0.00 sec)
faire le changement
mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
APRÈS
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
Merci pour cette démonstration. La requête ci-dessus mettra à jour toutes les instances de CDRECORD dans votre colonne aet. Toutefois, lors de la mise à jour d'une cellule spécifique dans une colonne spécifique, il est préférable de le faire en fonction de l'ID de la colonne, c'est-à-dire ID = xx – Mohammed
Certaines des colonnes MySQL ont une clause « sur la mise à jour », voir
mysql> SHOW COLUMNS FROM your_table_name;
Je ne sais pas comment mettre à jour cela, mais affichera une édition quand je trouve.
S'il y a une mise à jour, la colonne "Extra" de la table que vous obtenez lors de l'exécution de la commande ci-dessus. –
UPDATE TableName SET [email protected] WHERE
[email protected]
Les autres réponses n'ont pas fonctionné pour moi. – trinalbadger587
essayez ceci.
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
Bienvenue dans Stack Overflow! Bien que cet extrait de code soit le bienvenu, et qu'il puisse fournir de l'aide, il serait [grandement amélioré s'il comprenait une explication] (// meta.stackexchange.com/q/114762) de * comment * il aborde la question. Sans cela, votre réponse a beaucoup moins de valeur éducative - rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, pas seulement pour la personne qui demande maintenant! S'il vous plaît [modifier] votre réponse pour ajouter une explication, et donner une indication des limites et des hypothèses qui s'appliquent. –
MISE À JOUR TABLE<tablename>
SET<COLUMN=VALUE>
OÙ<CONDITION>
Exemple:
UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'
J'étais confus par cette réponse, pensant lignes sélectionnées SET pour changer, et où les changé . – Keith
peut la condition dans WHERE être column1 = old_value? – weefwefwqg3
@ weefwefwqg3, oui, il peut, mais il n'y a pas de point. Si vous ne changez pas la valeur, laissez-la en dehors de la partie SET. –