|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Bonjour.
J'essais de créer un trigger qui n'autorise qu'un seul enregistrement ayant le champs "true". En faite, c'est la langue par defaut j'ai pensé au trigger dans le cas ou il y a malin qui joue dans la table directement. Voici le trigger. Code :
Aurais-je raté quelque chose ?
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#2 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Qu'est-ce qui ne fonctionne pas exactement ? Ca serait pas SET new.defaut = old.defaut ?
PS : merci de mettre un titre explicite à tes posts
__________________
Pensez au bouton
|
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Extrait de l'autre post
Citation:
Exemple : idlangue | langue | defaut 1 | Français | x 2 | Englais | 3 | Allemand | UPDATE langue SET defaut = 1 WHERE idlangue = 3 idlangue | langue | defaut 1 | Français | 2 | Englais | 3 | Allemand | x Désolé pour le titre
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#4 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Heu oui mais ça répond pas vraiment à la question... tu as essayé SET new.defaut au lieu de SET defaut ?
__________________
Pensez au bouton
|
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Voici la nouvelle version
Code :
Au départ je pensais que c'étais un mot reservé mais apparément non le mot réservé c'est default en cas ou j'ai placé un "s".
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#6 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
C'est un problème de délimiteur. Ton trigger s'arrête au UPDATE là et le SET devient une instruction à part.
De plus, il te faut un BEGIN ... END si tu as plusieurs instructions dans le trigger. Et enfin, il me semble que c'est interdit de modifier la table concernée par le trigger. |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Merci pour l'information. J'ai des problèmes avec le delimiter mais je pense que c'est dù a phpmyadmin. En ligne de commande je ne sais pas choisir ma base de données pour tester
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#8 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Avec le client console, tu choisis ta base par défaut avec USE :
C'est l'équivalent de mysql_select_db(). Sinon, si tu préfères (ce dont je doute), tu peux préfixer ton trigger et tes tables par le nom de la base. |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
s'te honte quand même de demander cela Bref, je teste ça des ce soir. Si ça ne fonctionne pas je gère cela par code ce qui est plus simple mais bon tant pis s'il y a quelqu'un qui tente de jouer dans la base de données. Merci pour vos intervention.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com