Переполнение таблицы базы данных


#1

возникла Ошибка “Out of range value for column …” которая говорит о том, что таблица в базе данных достигла максимально возможного значения, поэтому MySQL не может сделать следующую запись в эту таблицу.

хостер говорит следующее:

С нашей стороны нечего увеличивать, в настройках сервера лимитов нет, у нас есть и базы с таблицами по 2-3 гб.
В данном случае для столбца определён тип данных ограничивающий его в 16мб, в PhpMyadmin нужно сменить тип на тот что поддерживает больший объём и при этом не нарушит хранимые в нём данные.
Вот подобный пример и описание причины и решения: https://stackoverflow.com/questions/14284494/mysql-error-1264-out-of-range-value-for-column

Что можно сделать чтобы не нарушить работу сайта ?


#2

На какую колонку и в какой таблице ругается? Просто измените ее тип, тем самым увеличив максимальное значение


#3

ругается при попытке записи данных про фото при импорте товаров через api.

PHP Fatal error: Uncaught Tygh\Exceptions\DatabaseException: Out of range value for column ‘pair_id’ at row 1 (167)

INSERT INTO cscart_images_links (detailed_id, position, type, object_id, object_type) VALUES (16747096, 0, ‘A’, 133853, ‘product’)

in /xxxxxxxx.ru/public_html/app/Tygh/Database/Connection.php:1118

#4

и напишите пожалуйста как поменять тип ? и на какой. это не повлияет на работу сайта или работу парсера ?


#5

Зайдите в контрольную панель сервера, затем в phpMyAdmin, выберете вашу БД, найдите таблицу cscart_images_links и там нужно поменять тип колонки detailed_id с mediumint(8) на int(11)

Если самому затруднительно, отправьте мое сообщение в поддержку хостинга