Avatar billede styless Nybegynder
22. september 2005 - 16:23 Der er 6 kommentarer

CHAR / VARCHAR i samme tabel i MySQL?

Jeg har en tabel i MySQL.

Laver jeg alle felter i tabellen af typen CHAR(32) er der ikke nogen problemer. Laver jeg alle felter i tabellen af typen VARCHAR(32) er der heller ikke nogen problemer. Men laver jeg en "mixed" tabel hvor jeg både har VARCHAR og CHAR (størrelse lige meget) så ændrer den alle CHAR felterne til VARCHAR. Er der noget jeg ikke kender til? Eller er dette en bug?

Versionen af MySQL er: 4.1.14-nt
OS er: Windows XP Professionel
Avatar billede styless Nybegynder
22. september 2005 - 16:26 #1
Jeg har været inde på MySQL's bug side men kan ikke finde noget der passer på mit problem. En søgning på Google eller her på Exp. gav heller ikke et resultat.

Fx. har jeg også en tabel med 2 typer af INT. 2 x SMALLINT og 1 x BIGINT. Her er der også en CHAR. Denne bliver heller ikke lavet om til VARCHAR. Det er som beskrevet kun i tabeller hvor VARCHAR også forekommer.
Avatar billede arne_v Ekspert
22. september 2005 - 16:26 #2
aldrig hørt om det !
Avatar billede styless Nybegynder
22. september 2005 - 16:32 #3
Det er også lige meget hvor jeg prøver at oprette eller ALTER den.

phpMyAdmin = Samme resultat.
MySQL Query Browser = Den er en del buggy men samme resultat.
MySQL Administrator = Den er en del buggy men samme resultat.
Deres kommando linie værktøj = Samme resultat.
Avatar billede chries Nybegynder
22. september 2005 - 17:12 #4
Avatar billede chries Nybegynder
22. september 2005 - 17:16 #5
If any column in a table has a variable length, the entire row becomes variable-length as a result. Therefore, if a table contains any variable-length columns (VARCHAR, TEXT, or BLOB), all CHAR  columns longer than three characters are changed to VARCHAR columns. This doesn't affect how you use the columns in any way; in MySQL, VARCHAR is just a different way to store characters. MySQL performs this conversion because it saves space and makes table operations faster. See Chapter 14, MySQL Storage Engines and Table Types.
Avatar billede styless Nybegynder
22. september 2005 - 19:15 #6
Hmm okay takker. Havde bare aldrig oplevet det før. Mindes at have oprettet mange tabeller med både CHAR og VARCHAR. Men jeg kan tage fejl. Er der evt. en måde at slå dette fra? Ikke fordi jeg behøver det nu for så vidt jeg kan forstå har den selv optimeret min tabel fordi VARCHAR er bedre at bruge.

Ligger du et 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