Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Row size too large

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Telnet
Отправлено: 27 Октября, 2014 - 20:46:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011  


Помог: 1 раз(а)




Всем привет

поначалу была такая таблица
CREATE TABLE IF NOT EXISTS `xliw4_virtuemart_products_ru_ru` (
`virtuemart_product_id` int(1) unsigned NOT NULL,
`product_s_desc` varchar(2000) NOT NULL DEFAULT '',
`product_desc` varchar(18400) NOT NULL DEFAULT '',
`product_name` char(180) NOT NULL DEFAULT '',
`metadesc` varchar(400) NOT NULL DEFAULT '',
`metakey` varchar(400) NOT NULL DEFAULT '',
`customtitle` char(255) NOT NULL DEFAULT '',
`slug` char(192) NOT NULL DEFAULT '',
PRIMARY KEY (`virtuemart_product_id`),
UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

я добавил там 2 поля
`product_scheme` text NOT NULL,
`product_characteristics` text NOT NULL,
и она стало такой

CREATE TABLE IF NOT EXISTS `xliw4_virtuemart_products_ru_ru` (
`virtuemart_product_id` int(1) unsigned NOT NULL,
`product_s_desc` varchar(2000) NOT NULL DEFAULT '',
`product_desc` varchar(18400) NOT NULL DEFAULT '',
`product_name` char(180) NOT NULL DEFAULT '',
`metadesc` varchar(400) NOT NULL DEFAULT '',
`metakey` varchar(400) NOT NULL DEFAULT '',
`customtitle` char(255) NOT NULL DEFAULT '',
`slug` char(192) NOT NULL DEFAULT '',
`product_scheme` text NOT NULL,
`product_characteristics` text NOT NULL,
PRIMARY KEY (`virtuemart_product_id`),
UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

и после этого при сохранении начало выдавать мне вот такую вот ошибку

vmError: alterTable CHANGE xliw4_virtuemart_products_ru_ru. product_characteristics : Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs SQL=ALTER TABLE `xliw4_virtuemart_products_ru_ru` CHANGE COLUMN `product_scheme` `product_scheme` CHAR(255) NOT NULL DEFAULT '

Помогите разобраться в ошибке
я так понял что это какое то ограничение по возможному количеству сохраняемой информации в 1 строке, сколько с MyISAM работаю такое вижу в первый раз
 
 Top
Мелкий Супермодератор
Отправлено: 27 Октября, 2014 - 23:12:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Вопрос-то в чём?
Всё верно, предельный размер строки 64 кб. Что и как считается вполне описано в мануале: http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]count-limit[dot]html


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB