mysql alter problem...

5 отговора 170 прегледа
#1

mysql alter problem...

opitvam se da smenia tipa na pole koeto e varchar(255) v blob[1800].....i ne stava.....izobshto blob li e nai-podhodishtia tip pri po-dylyg zapis v tova pole....


mysql>ALTER TABLE `test`.`test_table` CHANGE `content` `content` BLOB;

mysql return>BLOB column 'content' used in key specification without a key length

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

xux, mi to si pi6e we :)

ne si poso4il razmera na BLOB poleto. A moje da izpolzva6 i TEXT. Mai daje e po-dobre :))

mysql>ALTER TABLE `test`.`test_table` CHANGE `content` `content` BLOB(1800);
napi6i eventualno

Talk Java to me

Отговор
в отговор на voyager #3

query

a zashto pri...

<?
mysql_connect ('localhost','user','pass');
mysql_select_db ('database');
echo mysql_query ("SELECT `datetime` FROM `news` WHERE 1 ORDER BY `date_time` DESC LIMIT 0, 5");
?>

mi vyrshta 'Resource id #2' pri polojenic che imam celi 3 zapisa v bazata koito mi otgovariat na kriteria....

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

Re: query

am kato gledam tuka si napisal a ednoto mqsto 'datetime' na drugoto date_time'. Ne moje da podrejda6 po kolona, kqto q nqma v izvle4eniq rezultat. Ako ne e tva, trqbva da ti pogledna tablicata, ina4e zaqvkata si e ok :)



compuuuuuuuuterweeeelt :]

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

Re: query

Zashtoto mysql_query vrushta identifikator na resurs, a ne direktno rezultata ot zaiavkata. triabva da prisvoish rezultata ot mysql_query na promenliva i posle da izpolzvash nikoia ot funkciite mysql_fetch_array, mysql_fetch_row,mysql_result
Nai dobre purvata..

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

Re: mysql alter problem...

BLOB column 'content' used in key specification without a key leng

Буквално преведено е: колоната content от тип BLOB е използвана в спецификацията на ключ без дължина на ключа.

пусни едно SHOW CREATE TABLE test_table;

и ще видиш за какво става дума.

MySQL индексира BLOB и TEXT полета само по префикс и той трябва да се зададе изрично в дефиницията на индекса . Ако се замислиш има доста добра логик ав това.

Между другото префикс по индекс може да се използва и с CHAR/VARCHAR - в някои случаи е изключително удобно да индексираш например само по първа буква.

Единствената разлика между BLOB и TEXT е че по подразбиране сравненията с TEXT не правят разлика между малки и големи букви - при BLOB обратно.

Забележи също, че и двата типа имат различни варианти TINY..., MEDIUM..., LONG...

Linux is like a wigwam - No Windows, No Gates, Apache inside
Отговор