Проблема: При переходе с MySQL 5.7 на 8.0 запрос начал возвращать NULL вместо данных для тех же сжатых данных в поле LONGBLOB. Контекст:
Существует таблица my_table со столбцом my_column LONGBLOB NOT NULL
Предположительно, данные были сжаты с помощью COMPRESS()
При выполнении запроса SELECT my_column FROM ... я получаю разные результаты для 5.7, у меня есть поле, в 8.0 оно равно нулю
Как решить эту проблему? Кажется, я не могу найти никакой документации по этой теме. Где я могу об этом прочитать? Если возможно, мне нужен запрос, совместимый с обеими версиями.
CREATE TABLE my_table (
id INTEGER PRIMARY KEY,
my_column LONGBLOB NOT NULL
);
-- QUERY (same for diffrent version)
SELECT
id,
my_column AS test_uncompress,
LENGTH(my_column) AS blob_length,
HEX(LEFT(my_column, 4)) AS magic_header
FROM my_table
WHERE id = 1;
Результаты:
ver. MySQL
test_uncompress
blob_length
magic_header
[b]Проблема:[/b] При переходе с MySQL 5.7 на 8.0 запрос начал возвращать NULL вместо данных для тех же сжатых данных в поле LONGBLOB. [b]Контекст:[/b] [list] [*]Существует таблица my_table со столбцом my_column LONGBLOB NOT NULL
[*]Предположительно, данные были сжаты с помощью COMPRESS()
[*]При выполнении запроса SELECT my_column FROM ... я получаю разные результаты для 5.7, у меня есть поле, в 8.0 оно равно нулю
[/list] Как решить эту проблему? Кажется, я не могу найти никакой документации по этой теме. Где я могу об этом прочитать? Если возможно, мне нужен запрос, совместимый с обеими версиями. [code]CREATE TABLE my_table ( id INTEGER PRIMARY KEY, my_column LONGBLOB NOT NULL );
-- QUERY (same for diffrent version) SELECT id, my_column AS test_uncompress, LENGTH(my_column) AS blob_length, HEX(LEFT(my_column, 4)) AS magic_header FROM my_table WHERE id = 1; [/code] Результаты:
ver. MySQL test_uncompress blob_length magic_header