Magento MySQL: указано слишком много ключей; максимально 64 ключа - PullRequest
2 голосов
/ 31 января 2012

Я получаю приведенную ниже ошибку в файле Magento PHP с CREATE TABLE:

SQLSTATE[42000]: Syntax error or access violation: 1069 Too many keys specified; max 64 keys allowed

Код, который его вызывает:

CREATE TABLE IF NOT EXISTS {$this->getTable('attributesplash_page')} (
    `page_id` int(11) unsigned NOT NULL auto_increment,
    `option_id` int (11) unsigned NOT NULL default 0,
    `store_id` smallint(5) unsigned NOT NULL default 0,
    `display_name` varchar(255) NOT NULL default '',
    `image` varchar(255) NOT NULL default '',
    `short_description` varchar(255) NOT NULL default '',
    `description` TEXT NOT NULL default '',
    `url_key` varchar(180) NOT NULL default '',
    `page_title` varchar(255) NOT NULL default '',
    `meta_description` varchar(255) NOT NULL default '',
    `meta_keywords` varchar(255) NOT NULL default '',
    `display_mode` varchar(40) NOT NULL default 'PRODUCTS',
    `cms_block` int(11) unsigned NOT NULL default 0,
    `is_enabled` int(1) unsigned NOT NULL default 1,
    PRIMARY KEY (`page_id`),
    KEY `FK_OPTION_ID_SPLASH_PAGE` (`option_id`),
    CONSTRAINT `FK_OPTION_ID_SPLASH_PAGE` FOREIGN KEY (`option_id`) REFERENCES `{$this->getTable('eav_attribute_option')}` (`option_id`) ON DELETE CASCADE ON UPDATE CASCADE,
    KEY `FK_STORE_ID_SPLASH_PAGE` (`store_id`),
    CONSTRAINT `FK_STORE_ID_SPLASH_PAGE` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='AttributeSplash: Page';

ALTER TABLE {$this->getTable('attributesplash_page')} ADD UNIQUE (option_id, store_id);

Мне кажется, он добавляет только 3 ключа. Откуда поступают статисты?

Исследование проблемы просто выявило тот факт, что мне нужно уменьшить количество элементов, используемых для ключей, но я не вижу, где находятся дополнительные элементы в коде.

Есть ли какая-либо дополнительная информация, которая будет полезна?

1 Ответ

1 голос
/ 31 января 2012

Просто просмотрите все свои атрибуты и установите для них значение «Используется в списке товаров» на «Нет» и «Используется для сортировки в списке товаров» на «Нет».

Я не сталкивался с этимПроблема в последних версиях Magento, однако выше сказанное у меня работало один раз.Затем я снова смог подумать о том, какие атрибуты мне действительно нужны и где.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...