MySQL Assertion Failure в потоке

Почему этот запрос не работает?

SELECT
    SUB_COMMODITY,
    `VOL` AS Sales,
    `VOL_CHANGE` AS Dollar_change,
    `VOL_SHARE` AS Dollar_share,
    `VOL_SHARE_CHANGE` AS Dollar_share_change,
    `U_VOL` AS Unit_sales,
    `UVOL_CHANGE` AS Unit_change,
    `UVOL_SHARE` AS Unit_share,
    `UVOL_SHARE_CHANGE` AS Unit_share_change,
    `VOL_MKT_SHARE` AS Market_share,
    `PERIOD`
FROM `calculatedsummary`
WHERE WEEK = 52
AND PERIOD BETWEEN '2012-03-01' AND '2012-03-31'
AND MKT = '000 Total Market'
AND COMMODITY = 'CONDIMENTS SAUCES'
AND SUB_COMMODITY = 'BBQ SAUCE'
AND BRAND_FAMILY_DESC = 'Total'
AND session_id = 'ADBCDEFGHIJQLMNOPQRSTUVWXYZ'

Журнал сервера MySQL:

  • InnoDB: Ошибка подтверждения в потоке 2292 в файле row0sel.c строка 2441
  • InnoDB: неверное утверждение: buf + data_len <= original_buf + buf_len
  • InnoDB: мы намеренно генерируем ловушку памяти.
  • InnoDB: отправьте подробный отчет об ошибке на http://bugs.mysql.com/.
  • InnoDB: если вы получаете повторяющиеся ошибки или сбои утверждения, даже
  • InnoDB: сразу после запуска mysqld может быть
  • InnoDB: коррупция в
  • Табличное пространство InnoDB. Пожалуйста, обратитесь к
  • InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
  • InnoDB: о принудительном восстановлении.
  • InnoDB: поток 1544 остановлен в файле os0sync.c строка 474
  • InnoDB: поток 2028 остановлен в файле os0sync.c строка 781

А также получите ошибку #2013 - Потеря соединения с сервером MySQL во время запроса

Но если я изменю

session_id = 'ADBCDEFGHIJQLMNOPQRSTUVWXYZ'

К

session_id LIKE '%ADBCDEFGHIJQLMNOPQRSTUVWXYZ%'

1 ответ

Решение

Я решил проблему,

По всей видимости, в таблице, с которой я работал, было более 50 полей, в которых было установлено значение VARCHAR 255, и это было слишком большим, так что при уменьшении размера поля до точного размера проблема была решена.

Другие вопросы по тегам