Comment mettre à jour plusieurs tables par simple requête mysql?

J'ai deux tables tb1 & tb2
- Je mettre à jour une colonne commune de les deux tables, je.e user_level
J'ai des critères communs pour les deux tableaux comme nom d'utilisateur.

Si je veux mettre à jour comme ceci:

UPDATE tb1, tb2 SET user_level=1 WHERE username="Mr.X"

Mais de toute façon ça ne fonctionne pas.
Quelle serait la bonne requête mysql pour cela?

  • Quand tu dis de la base de données-vous vraiment dire de la base de données ou une table?
  • Non, je l'ai dit par erreur. Ces tables. J'ai mis à jour ma question
  • Donc, voir ma réponse.
  • C'est montrer: la Colonne "user_level' dans la liste des champs est ambigu
  • Je veux utiliser Comme ceci: mise à JOUR tb1,tb2 ENSEMBLE tb1.user_level=1, tb2.user_level=1 where username="M. X" Est-il juste de requête?
  • mais nom d'utilisateur doit venir de soit tb1 ou tb2 et vous voulez probablement une autre condition. Essayez WHERE tb1.username = "Mr.X" AND tb2.username = "Mr.X"
  • Si vous n'ajoutez pas une seconde condition, toutes les lignes dans celui de la table sera mise à jour qui n'est probablement pas ce que vous voulez.
  • Vous faites une jointure en spécifiant 2 tables, donc personnellement, je voudrais juste run 2 UPDATE déclarations, si vous n'avez pas de soins pour les jointures. Il est également plus facile à lire de cette façon.
  • Mise à JOUR tb1,tb2 ENSEMBLE tb1.user_level=1, tb2.user_level=1 where username="M. X" ET tb1.nom d'utilisateur=tb2.nom d'utilisateur. est-il correct?

InformationsquelleAutor stockBoi | 2013-11-26