2012-01-11 6 views
-3

Je souhaite mettre à jour le champ d'une table où ce champ est égal à quelque chose.Champ de mise à jour Mysql

Par exemple, je veux faire:

UPDATE users SET name = 'John' WHERE name = 'Jane' 

Est-ce une syntaxe valide ou vais-je obtenir une erreur?

+3

L'avez-vous essayé? Oui, c'est valide, et oui cela fonctionnera comme vous l'avez. –

+1

Bien que les chaînes entre guillemets simples soient préférables à des guillemets doubles pour la compatibilité avec d'autres SGBDR. '' John'' –

+1

vous devriez apprendre des choses de base de http://www.w3schools.com voici le lien pour la mise à jour de SQL http://www.w3schools.com/sql/sql_update.asp –

Répondre

4

Oui, cela devrait fonctionner correctement. J'aurais pensé que l'utilisation de guillemets doubles (au lieu de simples guillemets) aurait jeté une erreur, mais je l'ai juste essayé et cela a fonctionné.

Même si les guillemets fonctionnent, l'utilisation des guillemets simples est la norme acceptée. C'est une bonne idée de s'habituer à l'utiliser, juste au cas où vous vous trouvez en utilisant un SGBDR (Oracle ou MSSQL) qui renforce plus étroitement SQL ANSI.

+0

MySQL supporte cela, même si c'est un écart par rapport à la norme SQL: 1999. – Piskvor

+1

MSSQL cependant, jette une erreur. – Aaron

+0

Je n'utilise que des guillemets simples, puisque j'utilise php pour générer les requêtes. Quelque chose comme $ query = "utilisateurs UPDATE SET nom = '$ new_name' WHERE ..". J'ai juste demandé parce que je ne savais pas s'il était valide de mettre à jour un champ en utilisant le même champ dans la clause where. – ppp