Avatar billede nemlig Professor
09. marts 2011 - 22:08 Der er 5 kommentarer og
1 løsning

Kan ikke oprette flere felter i tabel

Hejsa.

Jeg har en tabel, som indeholder lidt over 300 felter til forskellige indstillinger, men kun 1 post. Jeg får nu MySQL fejl, når jeg vil tilføje flere felter.
En del af felterne er godt nok af typen varchar(255). Er løsningen, at jeg ændrer dem til char(8), når jeg ved, at indholdet i disse felter er max. 8 tegn.
Fejlen ser sådan her ud:

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Avatar billede erikjacobsen Ekspert
09. marts 2011 - 22:12 #1
char(8) eller varchar(8) hvis du ved max er 8 tegn. Er det præcis 8 tegn så char(8). Er der mindre i en char(8) får du sat blanke på.

Og det er som skriver, fordi den maximale størrelse er for stor. Dens forslag om TEXT og BLOB er selvfølgelig fordi den tror du har tænkt grundigt over feltstørrelse, og ikke kan gøre dem mindre.

Men derudover er det absurd, og med garanti himmelråbende uhensigtsmæssigt databasedesign at have 300 felter i en tabel.
Avatar billede arne_v Ekspert
09. marts 2011 - 22:12 #2
char(8) eller varchar(8)
Avatar billede arne_v Ekspert
09. marts 2011 - 22:13 #3
MySQL er noedt til at antage at vil bruge max. paa alle felter.

300 x 255 = 76500
Avatar billede arne_v Ekspert
09. marts 2011 - 22:15 #4
en enkelt tabel med 2 kolonner:
  key
  val
var en alternativ loesning.

Den ville baade loese dette problem *OG* goere det langt nemmere at tilfoeje en ny indstilling, fordi en saadan saa ikke ville kraeve en anedring af tabel struktur.
Avatar billede nemlig Professor
09. marts 2011 - 22:21 #5
Tak for info til Erik og Arne.
Jeg kan godt se, hvad I mener.
Jeg ændrer strukturen således der gemmes i 2 tabeller, og jeg på den måde kan nøjes med langt færre felter, men istedet får en række poster.

Arne - smid et svar.
Erik - tak for "klar tale" :)
Avatar billede arne_v Ekspert
09. marts 2011 - 23:22 #6
svar
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