Mysql
 sql >> база данни >  >> RDS >> Mysql

BLOB/TEXT колона „стойност“, използвана в спецификацията на ключ без дължина на ключа

Изглежда, че това е проблемът (има същия проблем в момента), тези два реда:

INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),

Необходимо е числовите стойности да са посочени като такива:

INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`(255)),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`(255)),

Включете го и ще работи. Номерът е да го накарате да се вмъкне правилно. За краткост няма да публикувам цялата функция, но в Mage_Eav_Model_Entity_Setup::createEntityTables около ред 1341, трябва да промените тези редове:

            ->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
                array('attribute_id', 'value'))
            ->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
                array('entity_type_id', 'value'))

Както следва:

            ->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
                array('attribute_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))
            ->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
                array('entity_type_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))

Не съм съвсем сигурен на какво трябва да зададете стойността на размера, но смятам, че задаване на пълните 64k би победило целта на индексирането на първо място. Надявам се някой, който знае малко повече за sql, отколкото аз да се включи.

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията MID() в MySQL

  2. Искам да направя страница за търсене, където искам да покажа търсените ми данни от база данни в div?

  3. Защо mysql_escape_string е силно обезкуражен?

  4. tomcat7:Не можа да се зареди JDBC клас драйвери [com.mysql.jdbc.Driver]

  5. Как да попълните празна стойност, когато няма запис през този ден, като използвате MySQL group by