Проблема: При переходе с MySQL 5.7 на 8.0 функция UNCOMPRESS() начала возвращать NULL вместо данных для тех же сжатых данных в поле LONGBLOB. Контекст:
Существует таблица my_table со столбцом my_column LONGBLOB NOT NULL
Предположительно, данные были сжаты с помощью COMPRESS()
При выполнении запроса SELECT UNCOMPRESS(my_column) FROM ... я получаю разные результаты для 5.7, у меня есть поле, в 8.0 значение null
Как мне решить эту проблему? Кажется, я не могу найти никакой документации по этой теме. Где я могу об этом прочитать?
```sql
CREATE TABLE my_table (
id INTEGER PRIMARY KEY,
my_column LONGBLOB NOT NULL
);
-- QUERY (same for diffrent version)
SELECT
id,
UNCOMPRESS(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 функция UNCOMPRESS() начала возвращать NULL вместо данных для тех же сжатых данных в поле LONGBLOB. [b]Контекст:[/b] [list] [*]Существует таблица my_table со столбцом my_column LONGBLOB NOT NULL
[*]Предположительно, данные были сжаты с помощью COMPRESS()
[*]При выполнении запроса SELECT UNCOMPRESS(my_column) FROM ... я получаю разные результаты для 5.7, у меня есть поле, в 8.0 значение null
[/list] Как мне решить эту проблему? Кажется, я не могу найти никакой документации по этой теме. Где я могу об этом прочитать? [code]```sql CREATE TABLE my_table ( id INTEGER PRIMARY KEY, my_column LONGBLOB NOT NULL );
-- QUERY (same for diffrent version) SELECT id, UNCOMPRESS(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