09. marts 2005 - 11:15Der er
8 kommentarer og 2 løsninger
autogenere fortløbende primærnøgle når tabel oprettes
Hvordan autoopretter man en primærnøgle når en tabel i fortløbende numre jeg vil gerne sætte nogle bogstaver foran og dermed oprette nøglen som en char(6)
eksempel: en simpel tabel med to kolonner: Tabel bruger: Primær nøgle id char(6), navn char(60)
når man opretter en ny bruger skal denne oprettes således:
id navn ------------------ pk0000 Jakob pk0001 Mogens pk0002 Bo
Jeg ved ikke om en primærnøgle i mysql kan være null, men hvis den kan - kan man så ikke lave noget med auto_increment når man sætter en nøgle ind som null?
med MySQL kan mig mig bekendt kun autogenerere nøgler som tal. og du burde ikke lægge logik i indeholdet af nøglen.
hvis du fortæller MySQL at et felt har AUTO_NUMBER, så vil MySQL automatisk tildele værdien til feltet, hvis du ikke angiver det eller angiver det med null value.
En primær nøgle er vel altid krævet at den ikke må være null? (det er normalt kun fremmednøgler der kan have nulls allowed...)
hmmm :o/ det er der jo ikke noget at gøre ved... måske kan jeg løse mit aktuelle problem på en anden måde... er det muligt at lave en trigger således at jeg, hvis jeg benytter prefix-id metoden kan sammenlægge de to data i en anden celle?
fx: prefix Id prefixogid Navn pk 0000 pk0000 Jakob pk 0001 pk0001 Mogens pk 0002 pk0002 Bo
heller ikke navnet, blot to karaktere. det gør det nemmere for mig når jeg jonglerer rundt med store udtryk.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.