09. marts 2011 - 22:08Der 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
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.
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.
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" :)
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.