MySQL + text грешка

8 отговора 0 прегледа
#1

MySQL + text грешка

правя UPDATE на text колона в таблица
понякога минава понякога има грешка: Data too long for column 'ххххх' at row 1
текста с който пробвам е почти един и същ и е около 125-150 знака тоест доста под от горната граница на text

ползвам PHP Version 4.3.9 и MySQL 5.0.27-community-nt
мисля грешката идва от тва че ползвам безплатна версия на MySQL която не е "сглобена" да работи стабилно
мисля че на хостинг няма да има проблем
така ли е?

Отговор
в отговор на w #2

Re: MySQL + text грешка

Дай някакъв пример.

'мисля грешката идва от тва че ползвам безплатна версия на MySQL която не е "сглобена" да работи стабилно'

Е това пък откъде го измисли и как си го представяш, че би било възможно?

salle.online.bg/sig
Отговор
в отговор на w #3

Re: MySQL + text грешка

да не би да буташ UTF стрингове в таблица с еднобайтов енкодинг

Отговор
в отговор на salle #4

Re: MySQL + text грешка

UPDATE `machines` SET `name` = 'second machine' , `image` = 'image1.gif' , `description` = '<P></P>\r\n<H2>w<B>efffssgggggggggggefВ fegggg wsfsdf f</B></H2>\r\n<P>dfsdsdfsd 123 123 kkk</P>' WHERE id = '14'

description е text

има фирми които измислят различни начини да убедят да клиенти да ползват подръжка и за тва така предположих, не знам дали MySQL правят така

Отговор
в отговор на w #5

Re: MySQL + text грешка

смених типа на колоната на blob и сега минава

иначе ми даваше и друга странна грешка когато правя
INSERT INTO `machines`( `name` , `image` ) VALUES( 'second machine' , 'image1.gif' )
и пропускам тази колона казва: Field 'description' doesn't have a default value

Отговор
в отговор на phpGuru #6

Re: MySQL + text грешка

таблицата е направена с CHARSET=utf8

Отговор
в отговор на w #7

Re: MySQL + text грешка

Ако искаш помисли дали не ползваш например кирилица.
Много интересна става аритметиката при използване на "подходящия" charset.
Може изречение от 100 букви да заеме няколко пъти повече място.
В този смисъл си прав - ако си платиш на MySQL те ще ти окажат всяческа помощ за локализация и отстраняване на проблема, ако не си платиш, но дадеш описание на използваните charset, и реални примери, особено от "неработещи" заявки - пак ще получиш насоки, а ако зададеш на текстовото поле 4 пъти по голям размер (от максималния според теб) - сигурен съм че няма да имаш никакви пробеми. И няма да заема повече място.
Почети за charset, text fields size.

Bеer? Mоre?
Плацебото
Отговор
в отговор на bira_more #8

Re: MySQL + text грешка

ми и 10 пъти да е по голям текста би трябвало да се събере в text според документацията на MySQL:

TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]
A TEXT column with a maximum length of 65,535 (2^16 – 1) characters.

сега пробвах като изключих strict SQL mode, не дава грешка а реже като остават само няколко знака понякога

заявките с които пробвам са като тази само с няколко повече или по малко знаци

пробвах с кирилица пак се държи така, понякога минава понякога не

Отговор
в отговор на w #9

Re: MySQL + text грешка

е поне тази грешка "Field 'description' doesn't have a default value" я открих от къде идва

Отговор