Update sous mysql

kaplan -  
 Jean-no -
bonjour,

j'ai actuellement deux tables sous mysql (tableA et tableB).
tableA est composée comme suit:
identifiant;raisonsociale;activite
à noter qu'actuellement le champ activite est vide

tableB est composé comme suit:
identifiant;activite

j'aimerai intégrer les données de tableB dans tableA afin d'inserer toutes les activités, sachant que dans tableB je peux avoir plusieurs fois le même identifiant correspondant à des activités différentes.

j'utilise donc la formule ci dessous sous phpmyadmin

UPDATE tableA,tableB SET tableA.activite=concat (tableB.activite,' - ',tableA.activite)
WHERE tableA.identifiant=tableB.identifiant;

et là rien ne se passe... si ce n'est que l'ordinateur mouline pour rien...

quelqu'un pourrait il m'expliquer ou me donner une solution?
A voir également:

2 réponses

fred
 
c vrai que MySQL n'est pas encore mon fort; tu peux tout de meme essayer ceci :

update TABLEA set
activite=(select activite
from TABLEB
where TABLEA.identifiant = TABLEB.identifiant);

si souci fais moi signe !
@+
0
Jean-no
 
Important : il ne faut pas d'espace entre la fonction (concat) et les parenthèses de l'argument. On peut par exemple écrire : "UPDATE `copaings` SET `nom_complet` = CONCAT(`prenom`, ' ', `nom`) WHERE 1;" mais pas "UPDATE `copaings` SET `nom_complet` = CONCAT (`prenom`, ' ', `nom`) WHERE 1;"
La différence ne saute pas à l'œil nu mais dans le second cas on a droit à un message d'erreur.
0