Insert и max_allowed_packet

  • Автор темы Автор темы dr_z10
  • Дата начала Дата начала

dr_z10

Новичок
Insert и max_allowed_packet

Расскажите, умные, глупому, как вставить в таблицу insert'ами 2 мб данных, если на сервере в Mysql установлено max_allowed_packet=1047552.

"SET SESSION max_allowed_packet=16777216" ничего не даёт, всё равно пишет "Got a packet bigger than 'max_allowed_packet'".
 
Это я уже из мана понял. А какие варианты решения проблемы непосредственно?
 
пинать тех у кого есть права на изменение глобальных значений переменных.
 
Админов хостинга? Надо попробовать! ;)

Будем надеяться, что они подвинуться на 15 метров :)

-~{}~ 18.05.05 13:52:

Хм... Админы двигаться не хотят... Ни на метры, ни на сантиметры :(

Есть у кого-нибудь предложения по теме?
 
Нет, общий объём всовываемой в таблу информации = 1,8 мб. А инсерты в среднем по 270 байт.
 
тогда разбивай их так, чтобы каждый из них был меньше max_allowed_packet. или копай в сторону загрузки прямо из файла...
 
Прямо из файла не получится, т.к. файл находится на сервере

Лан, буду думать... Пасиб.
 
Автор оригинала: dr_z10
Прямо из файла не получится, т.к. файл находится на сервере
он там и должен быть

-~{}~ 18.05.05 16:36:

1. можно запускать из командной строки "mysql < file.sql"

2. можно загружать файл средствами SQLя (LOAD DATA INFILE)
 
Я имею в виду, файл на сайте, а не на сервере MySql. Так что load data infile отпадает.

Серв MySql не у меня, а у хостера. Так что никаких командных строк.
Я ж выше писал, к кому обращался. Мне сказали, что 16 метров на max_allowed_packet предоставляют только для выделенных серваков. :(

А вообще сам процесс внесения данных в таблицу insert'ами... Я так понял, размеры вставленных данных суммируются, а потом сравниваются с max_allowed_packet, после чего серв шлёт клиента к чертям? Я правильно понимаю?

-~{}~ 18.05.05 18:22:

Хостер соизволил подвинуться на 1мб в мою пользу.
Победа, блин...
 
Сверху