SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Проблем с поле в DB

kkeliov

New member
Здравейте,

Използвам Pligg за един мой проект. Линковете към новините се запазват в DB в полето link_url от тип varchar(200). Както се вижда, зададена е стойност 200, което ми реже линковете до 200 знак. Максималната стойност при varchar е 255, а на мен ми трябват поне 400 знака. Когато се опитвам да променя стойноста на повече от 255 ми дава грешка :
Код:
SQL query:

ALTER TABLE `pligg_links` CHANGE `link_url` `link_url` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

MySQL said: Documentation
#1170 - BLOB/TEXT column 'link_url' used in key specification without a key length

По какъв начин мога да променя тази стойност. Ясно е, че трябва да променя и типа на променливата, но не не знам как да го направя и на какво да я променя.

Предварително благодаря на отзовалите се.
 
Re: Проблем с поле в DB

Промени типа на полето да е пълнотекстово - TEXT.
За всичко ли пишеш SQL на ръка, не ползваш ли phpMyAdmin или някакъв друг DB мениджър ?
 
Re: Проблем с поле в DB

Не, не пиша на ръка - използвам phpMyAdmin-a :)
При опит за промяна на полето пак излиза същата грешка:
Код:
SQL query:

ALTER TABLE `pligg_links` CHANGE `link_url` `link_url` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

MySQL said: Documentation
#1170 - BLOB/TEXT column 'link_url' used in key specification without a key length
 
Re: Проблем с поле в DB

В новите версии на mysql-a е позволен размер на варчара и над 255,
при старите просто трябва да смениш типа на полето на текстово или както ще е възможно най-оптимизирано там според информацията която съхраняваш.
 
Re: Проблем с поле в DB

Версията на MySql е 4.1.22, което не е последната версия, за съжаление.
Опитах се да го сменя на текстово, но както написах в предния си пост, отново дава същата грешка. Предполагам, че има някакъв друг начин за промяна, но не знам какъв е.

BTW, Информацията, която се съхранява са линкове.
 
Re: Проблем с поле в DB

Не, не пиша на ръка - използвам phpMyAdmin-a :)
При опит за промяна на полето пак излиза същата грешка:
Код:
SQL query:

ALTER TABLE `pligg_links` CHANGE `link_url` `link_url` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

MySQL said: Documentation
#1170 - BLOB/TEXT column 'link_url' used in key specification without a key length

Мисля че проблемът в случая произтича от това, че поле `link_url` е зададено като primary key / unique / index. Махни всяко от тези свойства ако е зададено и пробвай какво ще стане.
 

Горе