|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité(e)
Messages : n/a ![]() |
Bonjour,
Je modifie une tables via un formulaire, et j'aimerais que quand on modifie cette tables que sa modifie aussi une colonne d'une autre table. Quelqu'un pourrait t-il m'aider, je fuine google mais je trouve pas grand choses de bien expliqué. Merci d'avance. |
00
|
|
|
#2 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Je ne pense pas que ça puisse se faire en une seule et même requête, vu qu'un update ne peut porter que sur une seule table à la fois... Il va falloir passer par 2 requêtes successives... ced |
|
|
00
|
|
|
#3 |
|
Invité(e)
Messages : n/a ![]() |
hmmm, ok pour faire 2 requêtes, mais alors pour que le script exécute les 2 requêtes ?
Désolé, je suis un peux perdu ( |
00
|
|
|
#4 | ||
|
Invité(e)
Messages : n/a ![]() |
si je fais un truc comme sa ?
Code :
|
||
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 139 ![]() |
Tu ne précises pas quelle est ta version de MySQL... suivant la version, tu peux passer par la mise en place d'un trigger, qui se chargera automatiquement de la mise à jour de ton autre champ.
|
|
|
00
|
|
|
#6 |
|
Invité(e)
Messages : n/a ![]() |
Version du client MySQL: 5.0.32
Bon j'ai testé comme indiquer dans on précédent message, sa fonctionne, mais cette technique est t-elle fiable ? |
00
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Si toute modification de cette table implique d'en altérer une autre, le mot magique serait effectivement Trigger.
Sinon pour faire plusieurs modifications en garantissant l'intégrité du tout il faut aller voir InnoDB et les transaction, sinon il y a le risque qu'une raison X empèche la deuxième modification et entraine une incohérence. Il est également possible de modifier plusieurs tables en une seule requête : Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité(e)
Messages : n/a ![]() |
hmmmm, je vais voir pour ta solution, donc la mienne est pas bonne alors ?
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 139 ![]() |
Citation:
A partir du moment où tu as des outils (triggers ou transactions) qui te permettent de faire automatiquement ce travail, pour moi c'est autant de code en moins à implémenter dans ton application (et autant de bugs potentiels en moins). |
|
|
|
00
|
|
|
#10 | ||
|
Invité(e)
Messages : n/a ![]() |
sa marche pas trop, je capte pas ton code.
J'ai 2 tables essais1 essais2 Dans la table essais1, j'ai 20 chans Dans la table essais2, seul une entré sur les 10 m'intéresse. Donc : Code :
|
||
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 139 ![]() |
Qu'essaies-tu de faire par :
Il faut que tu précises la colonne à modifier ! |
|
|
00
|
|
|
#12 |
|
Invité(e)
Messages : n/a ![]() |
ben le caractère * pour tout les champs de la table, non ?
|
00
|
|
|
#13 | |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Citation:
Et puis le "*", pour maintenir, c'est pas bien... ced |
|
|
|
00
|
|
|
#14 | |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 139 ![]() |
Citation:
L'instruction SET d'une requête de type UPDATE porte sur une colonne précise. As-tu beaucoup de champs dans ta table ? |
|
|
|
00
|
|
|
#15 |
|
Invité(e)
Messages : n/a ![]() |
bon je ré explique
J'ai une table (table1) avec 50 champs que je modifie, je voudrais aussi modifier 1 seul champs d'une 2 ème tables (table2). Voila. |
00
|
Copyright © 2000-2012 - www.developpez.com