Ucina tekst zapisany w mysql


(Konradnie1) #1

Witam.

Mam problem z zapisaniem długich tekstów w bazie.

Zapisuje do ok 240 znaków jak to zwiększyć?? jak chce zeby zapisało 500 znaków?? nie wiem od czego to zależy polskie znaki zapisuje wzystko działa ale tylko do ok 240 znaków.

Jaka tego przyczyna?

Jak potrzebny kod to napiszcie jaki. Zapisu do bazy czy co


(Drobok) #2

Ilość znaków w zmiennej określa jej typ w bazie.


(Pablo_Wawa) #3

Pola CHAR oraz VARCHAR w MySQL mają ograniczenie do 255 znaków, jak chcesz trzymać dłuższy tekst, używaj pól typu TEXT, np. TEXT(500).

Powyższe tyczy się definicji pól tabeli, zmian w kodzie skryptu nie trzeba raczej robić.


(Konradnie1) #4

Dzięki za pomoc miałem na varchar ustawione


(Pablo_Wawa) #5

Też do niedawna nie miałem z tym problemów - nie przechowywałem takich długich tekstów w bazie. Dopiero 3-4 tygodnie temu, testując crawler do aplikacji Wikipedia offline na lokalnym komputerze wyszło, że niektóre teksty (tytuły artykułów) mają powyżej 300 znaków i musiałem poprawić niektóre pola w bazie MySQL i sam program. :slight_smile:


(MaXDemage) #6

Delikatna poprawka do tego posta.

mysql - od niedawna varchar może mieć dowolna długość, ograniczoną jedynie przez możliwości mysqla (czyli varchar(9001) jest poprawne.)

postregs - tu o ile się nie mylę bez zmian, 255.

ms - jak w mysql, ile dusza zapragnie, ale pewnie w rzeczywistości coś w stylu 2^30. (czyli varchar(9002) jest poprawne.)

;]


(Pablo_Wawa) #7

Dzięki MaXDemage za tę cenną informację - nie zwróciłem na to uwagi, choć jest to opisane w manualu MySQL: