Insert и max_allowed_packet

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'".
 

dr_z10

Новичок
Это я уже из мана понял. А какие варианты решения проблемы непосредственно?
 

Апельсин

Оранжевое создание
пинать тех у кого есть права на изменение глобальных значений переменных.
 

dr_z10

Новичок
Админов хостинга? Надо попробовать! ;)

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

-~{}~ 18.05.05 13:52:

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

Есть у кого-нибудь предложения по теме?
 

dr_z10

Новичок
Нет, общий объём всовываемой в таблу информации = 1,8 мб. А инсерты в среднем по 270 байт.
 

yugene

Отошел от дел
тогда разбивай их так, чтобы каждый из них был меньше max_allowed_packet. или копай в сторону загрузки прямо из файла...
 

dr_z10

Новичок
Прямо из файла не получится, т.к. файл находится на сервере

Лан, буду думать... Пасиб.
 

yugene

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

-~{}~ 18.05.05 16:36:

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

2. можно загружать файл средствами SQLя (LOAD DATA INFILE)
 

dr_z10

Новичок
Я имею в виду, файл на сайте, а не на сервере MySql. Так что load data infile отпадает.

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

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

-~{}~ 18.05.05 18:22:

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