Avatar billede steen_hansen Forsker
10. januar 2005 - 16:21 Der er 18 kommentarer og
1 løsning

Defination af datatyper i phpMyAdmin

Hvis der er nogle af Jer, der kender phpMyAdmin, har I også set administrationsmodulet til tabellerne.

Man skal angive antallet af kolonner, og derefter angive navn, max længde på input m.m. Dog er jeg overhovedet ikke klar over hvad der benyttes til hvad:

FIELD:
Navnet på det enkelte recordset. Ingen problemer.

TYPE:
Her findes bl.a.
VARCHAR, TINYINT, TEXT, DATE, SMALLINT, MEDIUMINT m.m.

Nogle af felterne er indlysende, men hvad med TINYINT, SMALLINT m.m?

Attributes:
Hvad skal der stå i disse? Hvilke attributer kan man sætte på?

NULL:
NOT NULL/NULL - angiver man her, om dette recordset må indeholde ingenting eller ej?

DEFAULT:
.....?

EXTRA:
Her kan vælges AUTO_INCRECEMENT. Jeg går ud fra, at det er hvad det siger, altså hver record får tildelt et nummer stigende, som f.eks. et ID kunne tænkes at have?

PRIMARY:
Er der styr på

INDEX:
Hvad bruges den til?

UNIQUE:
Om et felt skal være unikt eller ej, menes der vel?

---
Hvis der ikke er nogen restriktioner?

FULLTEXT:
Hvad bruges den til?
Avatar billede arne_v Ekspert
10. januar 2005 - 16:24 #1
TINYINT -128 .. 127
SMALLINT -32768 .. 32767
INT -2.1 mia. ... +2.1 mia.
Avatar billede arne_v Ekspert
10. januar 2005 - 16:24 #2
NULL feltet behøver ikke udfyldes
NOT NULL feltet skal udfyldes
Avatar billede arne_v Ekspert
10. januar 2005 - 16:25 #3
DEFAULT = værdi hvis ikke udfyldt eksplicit

AUTO_INCREMENT - jeps MySQL udfylder selv stigende værdier
Avatar billede arne_v Ekspert
10. januar 2005 - 16:25 #4
INDEX - gør det hurtigere at søge efter værdier i et felt

UNIQUE - jep
Avatar billede arne_v Ekspert
10. januar 2005 - 16:26 #5
FULLTEXT = noget der bruges til at kunne søge efter ord i store tekst felter
Avatar billede arne_v Ekspert
10. januar 2005 - 16:28 #7
Avatar billede steen_hansen Forsker
10. januar 2005 - 16:35 #8
Smukt, arne_v. Læg et svar :)
Avatar billede steen_hansen Forsker
10. januar 2005 - 16:37 #9
Ups, lige en ting:

DEFAULT: Her angives en eller anden standard-værdi, hvis ikke der postes andet i dette recordset?
Avatar billede arne_v Ekspert
10. januar 2005 - 16:42 #10
F1
F2
F3 NOT NULL

INSERT INTO T1(F1,F2) VALUES(1,'ABC')  => fejl
F1
F2
F3 NULL

INSERT INTO T1(F1,F2) VALUES(1,'ABC')  => F3 er NULL

F1
F2
F3 NULL DEFAULT ''

INSERT INTO T1(F1,F2) VALUES(1,'ABC')  => F3 er ''
Avatar billede arne_v Ekspert
10. januar 2005 - 16:42 #11
svar
Avatar billede steen_hansen Forsker
10. januar 2005 - 16:44 #12
Takker igen
Avatar billede steen_hansen Forsker
10. januar 2005 - 16:51 #13
Jeg får en fejl, når jeg forsøger at oprette tabellen profiles:
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '(16) NOT NULL, `addrss` TEXT(4) NOT NULL, `firstname` TEXT(16)

Min opsætning:
addrss: TYPE: TEXT | LENGTH/VALUES: 4 | NOT NULL | INDEX = TRUE
firstname: TYPE: TEXT | LENGTH/VALUES: 16 | NOT NULL | INDEX = TRUE

Kan du gennemskue, hvad der er galt?
Avatar billede steen_hansen Forsker
10. januar 2005 - 16:53 #14
Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR) Message: %s near '%s' at line %d
Avatar billede arne_v Ekspert
10. januar 2005 - 16:56 #15
Du sætter ikke feltbredde på TEXT.

VARCHAR(16)
CHAR(4)
TEXT

fordi TEXT er altid op til 64KB
Avatar billede steen_hansen Forsker
10. januar 2005 - 17:00 #16
Ok, så er den der. Dvs. jeg skal bare benytte VARCHAR, hvis jeg gerne vil have sat begrænsninger på antallet af karakterer i de enkelte recordset?

Man kan også angive forskellige typer. Jeg så der var noget, der hed MyISAM. Hvad er det for noget?
Avatar billede arne_v Ekspert
10. januar 2005 - 18:39 #17
VARCHAR og CHAR kan du sætte begrænsninger på 0-255.
Avatar billede arne_v Ekspert
10. januar 2005 - 18:40 #18
TYPE=MYISAM og TYPE=INNODB styrer hvilken slags tabel du opretter.

MYISAM er standard. Og bare start med den.

Du skal bruge InnoDB hvis du vil til at lege med transaktioner (commit/rollback).
Avatar billede steen_hansen Forsker
10. januar 2005 - 18:57 #19
Ok, lyder lidt kompliceret, de venter til senere, når der er styr på dét pjat :)
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