Page 1 sur 1

UPDATE 2 tables avec une colonne identique sur chaque table

Posté : 17 juil. 2021, 14:07
par ChrisCMoi62
Bonjour,
Je souhaite effectuer sur la même page 2 requêtes UPDATE
}

Code : Tout sélectionner

$req = $pdo->prepare( "UPDATE Table1 SET ch1=:ch1 WHERE id=:id " ); $req->bindValue( 'id', $_POST[ 'id' ] ); $req->bindValue( 'ch1', $_POST[ 'ch1' ] ); $req->execute(); $req->closeCursor(); Puis après ce que 1ère soit mise à jour mettre à jour la seconde : $req2 = $pdo->prepare( "UPDATE Table2 SET ch1=:ch1 WHERE ch1=:ch1 " ); $req2->bindValue( 'ch1', $_POST[ 'ch1' ] ); $req2->execute(); $req2->closeCursor();
J'ai cherché sur le net et d'après ce que j'ai cru comprendre il faut utiliser une jointure, mais je ne comprends rien, quelqu'un peut m'expliquer me guider ?
Merci d'avance de votre aide.

Re: UPDATE 2 tables avec une colonne identique sur chaque table

Posté : 18 juil. 2021, 00:58
par @rthur
Non pas besoin de jointure.
Par contre, dans ta 2ème requête c'est étrange que SET et WHERE soient les mêmes.

Par ailleurs il est impossible d'avoir le même placeholder (:ch1 dans ton cas) deux fois dans la même requête, il faut que tu les nommes différement.

Re: UPDATE 2 tables avec une colonne identique sur chaque table

Posté : 18 juil. 2021, 08:15
par ChrisCMoi62
Bonjour,
Dans la 2e requête je veux remplacer la valeur du champ par la valeur de la 1ère requête, il peut donc y avoir plusieurs lignes qui changent.

Re: UPDATE 2 tables avec une colonne identique sur chaque table

Posté : 19 juil. 2021, 10:22
par @rthur
UPDATE Table2 SET ch1=12 WHERE ch1=12
ça n'a pas de sens de faire un update d'une valeur là où il y a déjà cette même valeur

Re: UPDATE 2 tables avec une colonne identique sur chaque table

Posté : 19 juil. 2021, 10:45
par ChrisCMoi62
Bonjour, j'ai réussi à résoudre mon problème, c'était juste un problème dans ma requête. Merci de votre aide