Avatar billede anddk Praktikant
12. december 2003 - 14:31 Der er 14 kommentarer og
1 løsning

auto increment

Til reg. af hvem der besøger min webside bruger jeg et auto id.

id tinyint(4) NOT NULL auto_increment

Dette går dog kun til 127, hvad kan man bruge istedet ?? Har prøvet med varchar men det kan ikke køre med auto_increment
Avatar billede clausjul Nybegynder
12. december 2003 - 14:34 #1
hvorfor ikke id int(4) not null auto_increment?
Avatar billede mufoxe Nybegynder
12. december 2003 - 14:35 #2
Int er så passé :)
Avatar billede ztyxx Nybegynder
12. december 2003 - 14:38 #3
bigint er jo også en mulighed...
Avatar billede detox Nybegynder
12. december 2003 - 14:39 #4
Eller SMALLINT, den kan holde til65535, hvis du laver den UNSIGNED.
Avatar billede mufoxe Nybegynder
12. december 2003 - 14:40 #5
SMALLINT er ALT for lille til en primary key. int eller bigint er de eneste, som giver mening i sådan en situation.
Avatar billede detox Nybegynder
12. december 2003 - 14:40 #6
BIGINT: 18446744073709551615, så løber du ikke tør foreæøbig ;o)
Avatar billede detox Nybegynder
12. december 2003 - 14:41 #7
mufoxe -> 65535 er rigeligt til mange tabeller.
Avatar billede mufoxe Nybegynder
12. december 2003 - 14:41 #8
Jo, for jeg forsøger at lave en database over alle myrer i hele verden! :)
Avatar billede mufoxe Nybegynder
12. december 2003 - 14:47 #9
Du har ret detox, men det er dumt at begrænse sig. Især fordi det er så vigtig en værdi. Det lidt ligesom folk, som vælger at bruge en varchar(20) i stedet for en varchar(255) for at spare plads. I princippet betyder det ikke noget om den er 20 tegn lang eller 255 tegn lang, især fordi en varchar kun fylder det antal tegn, som er brugt.

Min pointe er at det er vigtigt at dække sig ind for fremtiden og det gøres bedst ved at bruge en int eller en bigint.
Avatar billede arne_v Ekspert
12. december 2003 - 14:59 #10
Der er nogen praktiske fordele ved at bruge int fremfor bigint.
Avatar billede mufoxe Nybegynder
12. december 2003 - 15:03 #11
Hvilke er det?
Avatar billede arne_v Ekspert
12. december 2003 - 15:14 #12
Supporten for 32 bit integers er betydeligt bedre end supporten for 64
bit integers i mange typer applikationer.
Avatar billede arne_v Ekspert
12. december 2003 - 15:19 #13
Og mange vil mene at det ikke er et mål at lave databasen så "flink" som
mulig men derimod et mål at lave den så "restriktiv" som mulig.

Hvsi der ikke må være mere end 64K records i en tabel qua problem stillinge,
så er en 16 bit unsigned integer primary key jo en løsning. Samme med
lngden af felter. Pladsen er ligegyldig - harddiske er billige idag.
men man kan godt være interesseret i at enforce at noget ikke må være
længere end 20.
Avatar billede anddk Praktikant
12. december 2003 - 15:20 #14
Tak for hjælpen gutter.

Har brugt en Int
Avatar billede mufoxe Nybegynder
12. december 2003 - 15:22 #15
Jeg havde faktisk en intention om at skrive præcist det, arne_v, men jeg må have haft en kort hjernebløning da jeg skrev det, for det er ikke kommet på tryk :)

Jeg har vist endnu ikke oplevet at der var et krav om at begrænse antal records, men f.eks. på en håndholdt enhed kunne det jo godt være noget, som man ville gøre noget ud af.

God pointe ... ville ønske jeg selv havde husket at skrive den med :D
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