10. marts 2003 - 12:18Der er
15 kommentarer og 1 løsning
datatyper og grænse for indhold i mysqlDB
Jeg sidder og roder med oprettelse af data i en mysqlDB - det virker umiddelbart ganske fint - men jeg er i tviv om hvilke datatyper jeg bør vælge, hvis det skal "være helt rigtigt". Så mit spørgsmål er: hvilken datatype bruger man typisk til et årstal? Ikke dato - blot årstal. Og dernæst - hvis det data der skal ligge i et felt blot er en tekststreng - anvender man så bare datatypen text?? Eller hvad? Derudover vil jeg også være glad for om der er en der kan fortælle mig om der er en grænse for hvor meget data der kan ligge i en given database samt en enkelt tabel i databasen? ;0) Karen
Hvis du blot vil gemme et tal, så er en hel generel betragtning at vælge en heltalstype, der "er stor nok", dvs. 16bit vil være rigeligt til dig. Dette findes nok ikke, så - uden at have kigget i dokumentationen - findes der nok en INTEGER type der klarer 32 bit tal.
Ny er jeg lige blevet "farvet" af MS SQL2000, så måske hedder typerne noget andet i mySQL. Som tekststreng skelner man typisk mellem CHAR(n) og VARCHAR(n). CHAR(n) fylder ALTID n bytes i hver række, hvor VARCHAR(n) fylder det aktuelle datamængde + et par bytes til at fortælle hvor lang strengen er.
jeg ville nok bruge enten smallint(4) eller varchar(4) til et årstal. Til tekst-strenge vil jeg mene at varchar(max antal tegn) er det smarteste. med hensyn til en maks størrelse på en database eller tabel er jeg ikke sikker på at der er nogen grænse... Med venlig hilsen, Brian.
HM - jeg håber så bare at der ikk er en grænse - det vil være noget møg hvis det hele pludselig går ned - men jeg tror nu oz selv på at der ingen grænse er. Men hvad er en bigint egentlig? For jeg havde på et tidspunkt brugt den datatype - og det kunne windows2000 altså absolut ikk finde ud af.. Den varchar du snakker om Brian - hvis man bruger den datatype er der så en grænse for hvor lang teksten må være eller er det en grænse man selv definerer - og hvis ja hvordan? Hvis I er søde at svare tilbage begge to - skal jeg nok tildele jer point med det samme ;0) Karen
- bigint signet: -9223372036854775808 til 9223372036854775807. - bigint unsignet: 0 til 18446744073709551615. - varchar kan max indeholde 255 tegn. - text kan indeholde max 65535 tegn. - mediumtext kan indeholde max 16777215 tegn. - longtext kan indeholde max 4294967295 tegn.
jeg tror nu ikke at alle har fået point som fortjent, men næste gang skal du bare vælge avanceret - så kan du selv vælge hvem der skal have hvor mange point...
hm - så laver jeg da bare et nyt hvis han vil ha det - så må han lige skrive en komentar her ikk - havde bedt ham om at skrive tilbage - vil jo meget gerne give point
ellers må du holde øje med mig- så skal jeg nok give dig point næste gang - tusind tak for hjælpen ;0)
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.