Autor Zpráva
jirivo
Profil *
Zdravím mám dotaz, mám v databázi vytvořenou tabulku pro vkládání obsahu, která obsahuje jeden záznam, kam vládám kód, který se pak zobrazí na webu v jednotlivých záložkách (o nás, kontakt, reference apod.), jednotlivé sloupce mají nastavený typ TEXT. Teď chci do jednoho ze slopců vložit tento řetězec:

<p style="text-align: center;">
<img height="113" src="http://www.web.eu/obrazky/1.jpg" width="185" />
<img height="150" src="http://www.web.eu/obrazky/2.jpg" width="141" /><br />
<img height="149" src="http://www.web.eu/obrazky/3.jpg" width="112" /><br />
<img height="114" src="http://www.web.eu/obrazky/4.jpg" width="191" /><br />
<img height="140" src="http://www.web.eu/obrazky/5.jpg" width="140" />
<img height="97" src="http://www.web.eu/obrazky/6.jpg" width="191" />
</p>

ale po vložení mi to vypíše tuto chybu:
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs

Nechápu v čem je problém, když se jedná o normální textový řetězec, kde dělám chybu?

Děkuji za pomoc
juriad
Profil
Ukaž definici tabulky v databázi.
jirivo
Profil *
Struktura tabulky `obsah`

CREATE TABLE IF NOT EXISTS `obsah` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `home` text COLLATE utf8_czech_ci NOT NULL,
  `instituce` text COLLATE utf8_czech_ci NOT NULL,
  `jednotlivci` text COLLATE utf8_czech_ci NOT NULL,
  `pridejse` text COLLATE utf8_czech_ci NOT NULL,
  `zamer` text COLLATE utf8_czech_ci NOT NULL,
  `spoluprace` text COLLATE utf8_czech_ci NOT NULL,
  `metodologie` text COLLATE utf8_czech_ci NOT NULL,
  `workshopy` text COLLATE utf8_czech_ci NOT NULL,
  `festival` text COLLATE utf8_czech_ci NOT NULL,
  `zavislyfilm` text COLLATE utf8_czech_ci NOT NULL,
  `konference` text COLLATE utf8_czech_ci NOT NULL,
  `resitelskytym` text COLLATE utf8_czech_ci NOT NULL,
  `vedeni` text COLLATE utf8_czech_ci NOT NULL,
  `odkazy` text COLLATE utf8_czech_ci NOT NULL,
  `literatura` text COLLATE utf8_czech_ci NOT NULL,
  `kontakt` text COLLATE utf8_czech_ci NOT NULL,
  `pravni` text COLLATE utf8_czech_ci NOT NULL,
  `zakonne` text COLLATE utf8_czech_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=2 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
juriad
Profil
Našel jsem toto vlákno a z něj odkázaný bug v MySQL.
http://dba.stackexchange.com/questions/41525/error-1118-row-size-too-large-on-the-first-row-of-the-table-only

Po internetu se povaluje spoustu vysvětlení, které spočívají v tom, že výchozí formát InnoDB ukládá až 768 prvích bytů TEXTu přímo do řádku.
Řešením je změna formátu; pro víc informací prosím vygoogli chybovou hlášku.
http://dba.stackexchange.com/questions/6598/innodb-create-table-error-row-size-too-large

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: