Zdravim,
jsem asi úplně mimo, ale když chci vytvořit tabulku:
......
$x="CREATE TABLE web_downloady (
id varchar(100) DEFAULT '0' NOT NULL,
nadpis varchar(255) NOT NULL,
KEY id (id),
KEY nadpis (nadpis),
)";
$z=mysql_query($x,$spojeni);
if ($z) {
echo "<font style='color: red;'>Tabulka 'web_downloady' vytvořena!</font><br />";
}
.......
tak to úplně v pohodě jde, ale nevim, jak mám místo toho varchar(255) dát třeba text... :
......
nadpis text NULL,
.......
nefunguje, pořád to píše, že "MySQL hlásí: #1170 - BLOB/TEXT column 'text' used in key specification without a key length"
Jak to mám udělat?
Díky
<HTML>Zkus ještě změnit KEY nadpis (nadpis), na KEY nadpis (nadpis(100)),</HTML>
Bezva, už to jede...
Proč se to tam mělo napsat? To nechápu...
<HTML>Typy blob/text musí mít definici délky klíče, viz <a href="http://dev.mysql.com/doc/refman/5.0/en/indexes.html">manuál</a>.</HTML>
MyFlower (myflower.xf.cz)
nadpis (nadpis(100))
nazev klice (nazev sloupce (delka))
jenze ten problem je spise v tom, ze ty mas v CREATE TABLE
nadpis varchar(255) NOT NULL,
oki, ale NOT NULL a zadna hodnota.
Tam by melo byt: NOT NULL default '',
nebo: default NULL,
Ale lepsi je omezeni klice na 100 prvnich znaku. Vubec, 100 znaku davat do klice, to mi prijde trosku strelene. ono to pak vytvari pomocnou tabulku n/2(n+1)*100 (tipnuty vzorecek pocet moznost x delka 1 pole)
n je pocet radku
1000 radku: 500*1001 * 100 mas hned 50M klic a max velikost DB je 5M
nehlede na to, ze porovnat 100 ruznych znaku zabere dost casu