MySQL trigger hjælp

Tags:    mysql

Jeg, jeg er igang med at lave en trigger i mit phpmyadmin får bare en fejlkode.

Indstillingerne for trigger:
tabel: users
tid: after
hændelse: update
kode:
Fold kodeboks ind/udSQL kode 

fejlkode:
Fold kodeboks ind/udKode 


Meningen er at hvis man indtaster et tal i `users.type` som ikke eksistere som `user_groups.id` så skal `users.type` ændres til 2



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du mangler formentlig then og end if - og så ved jeg ikke med NOT EXISTS før en IF.

Fold kodeboks ind/udSQL kode 




Tak for hjælpen, der var bare en lille fejl i koden, du manglede ; efter WHERE `users.id` = NEW.id

rettet kode.
Fold kodeboks ind/udSQL kode 



Lige en tilføjelse, det er ikke muligt at bruge denne kode, sådan da.
Den returnere en error fordi den updater users, som også er den, den bliver triggeret fra, som så vil skabe et loop.

Så, nyt spørgsmål, er det muligt at lave en fejl besked i koden?
Fold kodeboks ind/udSQL kode 




Indlæg senest redigeret d. 13.10.2013 18:52 af Bruger #16838

Lige en tilføjelse, det er ikke muligt at bruge denne kode, sådan da.
Den returnere en error fordi den updater users, som også er den, den bliver triggeret fra, som så vil skabe et loop.



Kan du ikke ændre triggeren til at være før insert, og update new.id istedet for users.id ?

Så, nyt spørgsmål, er det muligt at lave en fejl besked i koden?

Måske du bør overveje, at validere alt data, før du begynder at indsætte i databasen.



Indlæg senest redigeret d. 13.10.2013 22:20 af Bruger #955
t