Avatar billede jnrmgs Juniormester
22. januar 2023 - 16:12 Der er 6 kommentarer

Flere tegn i et databasefelt

Jeg har en database, som jeg bruger lokalt til at skrive notater til mine mange fotos.
Nu er jeg stødt ind i et problem med SQL, hvor der kun kan være et vist antal tegn i mit tekstfelt. Jeg bruger variablen "varchar". Men uanset hvilken værdi jeg giver den, melder databasen fejl ved en post med for mange tegn, når jeg eksempelvis skal lave en backup af databasen.
Er der nogen der har et godt råd til hvordan man kan lagre nogle flere tegn i et tekstfelt?
På forhånd tak!
Avatar billede Keld Broe Seniormester
22. januar 2023 - 16:14 #1
Øge størrelsen på varchar-variablen: Du kan øge størrelsen på varchar-variablen til en større værdi. For eksempel, hvis du bruger varchar(255), kan du øge det til varchar(1000) eller endda varchar(max) for at tillade flere tegn.
Avatar billede arne_v Ekspert
22. januar 2023 - 16:27 #2
VARCHAR(n) kan erklæres op til 65535  (men der er en anden begrænsning p.g.a. max række størrelse).

LONGTEXT kan indeholde op til 4 GB.

Er du sikker på at problemet er længden og ikke manglende håndtering af kritiske tegn?
Avatar billede jnrmgs Juniormester
22. januar 2023 - 16:31 #3
Det er ligegyldigt hvad jeg ændrer størrelsen til, når jeg vil eksportere databasen til Excel, så stopper den ved den række, som der åbenbart er for mange tegn i:
<b>Fatal error</b>:  Uncaught TypeError: PhpMyAdmin\Encoding::convertString(): Return value must be of type string, bool returned in C:\xampp\phpMyAdmin\libraries\classes\Encoding.php:200
Avatar billede jnrmgs Juniormester
22. januar 2023 - 16:33 #4
Der er ikke umiddelbart specielle tegn i feltet, som jeg ikke har brugt før, så det må udelukkende være fordi der er for mange tegn. Helt konkret er der 218 tegn med mellemrum.
Avatar billede arne_v Ekspert
22. januar 2023 - 16:51 #5
Jeg kan ikke se nogen tegn p[ at det er et l;ngde problem.

Det lyder mere som et ISO-8859-1 vs UTF-8 problem!
Avatar billede jnrmgs Juniormester
22. januar 2023 - 17:20 #6
Alle mine felter bruger tegnsættet "utf8_danish_ci"
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

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