Avatar billede avminarm Juniormester
15. oktober 2002 - 09:21 Der er 5 kommentarer og
3 løsninger

nøgler ? primær unik mv.

Hej jeg faldt over dette her på eksp:

PRIMARY KEY (id) = Primær nøgle
UNIQUE id (id) = unik nøgle
KEY id_2 (id)  = = hvad er det ?

Det hele stammer fra én tabel - hvorfor sætte båden en primær og unik nøgle på samme (id) og hvorfor kan man ikke gøre dette når man oprettet tabeller med phpmyadmin?

KEY hvad gør det godt for?

Svaret må gerne skæres lidt ud i pap
Avatar billede roarsj Nybegynder
15. oktober 2002 - 14:08 #1
Det giver ingen mening at lave en unique-begrænsning på en primær nøgle. Den skal være unik for at være primærnøgle.

KEY angiver at man ønsker et index på den givne kolonne.

Jeg kan ikke svare på hvordan man bruger phpmyadmin. Jeg kan anbefale kommandolinjeklienten. Den er ikke helt så grafisk, men den går hurtigere, og efter hvad jeg har hørt skal man alligevel selv skrive sine forespørgsler i phpmyadmin.
Avatar billede ztyxx Nybegynder
15. oktober 2002 - 14:10 #2
PRIMARY KEY kan f.eks. være et felt der er en posts id, hvis feltet sættes til auto_increment, vil hver ny post få et id der er 1 højere end den foregående, altså 1 2 3 4 osv.

UNIQUE kan f.eks. være i et bruger system, hvor der ikke må forekomme to ens brugernavne, så hvis man har et felt der hedder brugernavn, kan man sætte det til UNIQUE brugernavn(brugernavn) så vil der ikke kunne indsættes to der f.eks. hedder Peter_Plys
Avatar billede ztyxx Nybegynder
15. oktober 2002 - 14:10 #3
auto_increment tææler numerisk op
Avatar billede ztyxx Nybegynder
15. oktober 2002 - 14:14 #4
tææler == tæller
Avatar billede avminarm Juniormester
15. oktober 2002 - 15:48 #5
ztyxx>> dvs man kan sætte en id til PRIMARY og et brugernavn til UNIQUE?

roarsj>> hvorfor skulle man lave index?
Avatar billede lasse_buck Nybegynder
15. oktober 2002 - 18:29 #6
avminarm >> Ja. Du kan godt definere nogle felter som unikke, uden at de er en del af primærnøglen.

Index oprettes for at få søgning i tabellen til at gå hurtigere.
SELECT * FROM elev WHERE alder = 20
Denne søgning vil kræve gennemløb af alle rækker i tabellen elev, men hvis der er oprettet et index på feltet alder, udnyttes index til at finde de aktuelle rækker.
Avatar billede avminarm Juniormester
15. oktober 2002 - 21:22 #7
Jeg takker jer alle ;o)
Avatar billede ztyxx Nybegynder
15. oktober 2002 - 22:29 #8
takker for point :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester