Mettre à jour une ligne entière dans MySQL
Je suis nouveau sur MySQL et je veux mettre à jour une ligne entière dans MySQL avec un nouveau tableau, jusqu'à présent, tous les exemples de la requête de mise à Jour nécessite de spécifier le nom de la colonne et une nouvelle valeur pour cette colonne, comme ceci:
"UPDATE tablename SET columnname = '".$new_value."' WHERE columnname = '".$value."'";
Comment puis-je mettre à jour un enregistrement entier avec la requête de mise à jour ou dois-je utiliser le remplacer requête?
Tous les conseils seront appréciés.
Edit: Est-il une requête qui n'a pas besoin de spécifier tous les noms de colonnes et les nouvelles valeurs de la colonne?
Fondamentalement, je veux avoir une requête qui ressemble à quelque chose comme ceci:
Mise à jour entirerow avec thisarray où primarykeycolumn='cettevaleur'
source d'informationauteur grasshopper
Vous devez vous connecter pour publier un commentaire.
À faire que vous avez besoin
Donc la dernière requête devrait ressembler à
Il n'est pas de la magie de commande pour la mise à jour de la "rangée" dans sql les autres que j'ai indiqué ci-dessus. Et
REPLACE
est certainement pas ce que vous avez besoin ici.Cela dépend si vous voulez garder l'ID ou non, en supposant que l'ID est
autoincrement
.REPLACE INTO mytable VALUES( new array ) ....
permettra de mettre à jour l'ID, puisqu'il vraiment juste émule unDELETE
etINSERT
.Si vous voulez garder l'ID, utiliser un
UPDATE mytable SET foo='bar', baz='bat' WHERE id=12
Comme pour info,
REPLACE
est généralement pratique pour les tables de mappage où le champ unique ou de clé primaire composite n'est pas une auto-incrémentation.Vous pouvez certainement tout faire en une seule requête. Vous venez d'ajouter plus de ce = que des clauses séparées par des virgules:
Que c'est la bonne façon.
Oui, il y a une manière similaire...