18. august 2011 - 20:03Der er
12 kommentarer og 1 løsning
Hjælp til en TRIGGER i mysql
Hej jeg er ved at lave min første trigger i mysql og jeg kan ikke helt får det til at virke, håber i kan hjælpe mig..
iden er at den skal gå i system table og hente et id og derefter oprette en kunde med dette id og så opdater system table med et nummer.. men jeg kan ikke helt få det til at virke ved ikke om det er mig der er nåde galt med..
begin DECLARE nr INT; SET @nr = (SELECT SystemDebitorNr FROM System WHERE SystemID='1'); INSERT INTO Debitor (`DebitorID` ,`DebitorNr` ,`DebitorName`) VALUES (NEW.DebitorID, @nr, NEW.DebitorName); UPDATE System SET SystemDebitorNr=SystemDebitorNr+1 WHERE SystemID=1; end
Ja den kan jeg ikke bruge da jeg gerne vil kun bestemme hvad min kunder skal start med af nummer så jeg vil geren hente næste kundenr og så indsætte den..
Jeps.. ja der sker ikke så meget jeg kan ikke få den oprette og når det enlig lykkes mig så virker den ikke.. og da det er lidt nyt for mig så prøver jeg mig lidt frem har nu søge som en gal på nette uden at finde ud af om det er mig der gør nåde galt eller ej..
Jeg forstår ikke dit problem i såfald. Hvorfor bruger du ikke som alle andre autoincremet ? Hvorfor vil du have en tabel med næste nummer ? Den tabel du henter fra og tæller op med en. Hvonår opdaterer du den. ? Hvis der er mere end en bruger på systemet får de så samme værdi ?
Ser netop at du opdaterer efter at have valgt en værdi. Hvad hvis andre kommer ind og select'er samme værdi. Du bliver nødt til at lave nogle låsninger for at det kan virke med flere brugere
Ja som jeg start med at fortælle så er jeg meget ny inden for bruge af TRIGGER selv om jeg har arbejder i en del år med mysql har jeg ikke før nu prøve at arbejder med trigger, og da min ide er at jeg i dette telfelde bare vil have hente en værdi fra en tabel og smide den over i en kunde tabel. sender er det min ide at udvide system sådan at jeg kan oprette flere virksomheder og der skal kun jo ikke bare have et id som passer til tabel men et der passer til virksomhede. sådan at virksomhed a som oprette en kunde ikke får ide nummer 3552 for de det er næste id i række men får id nr 1. da det er deres første kunde. men som du selv fortæller så ville det da ikke gøre nåde med sikkerhed på sådan at den kan tåle flere bruger. så hvis du kan hjælpe mig vil jeg blive meget glad da jeg har søge meget på nette uden at finde hjælp.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.