Ограничение на вставку MySQL?

У меня есть php-скрипт, который берет csv и импортирует его в таблицу mysql. Я провел несколько тестов и обнаружил, что скрипт вставляет только 999 строк за раз. Есть ли такой предел и если да, то где? Майскл или пхп? Например, если бы я использовал файл csv с 2500 строками, были бы вставлены только первые 999 строк. Я сбит с толку. Я установил следующие параметры php на довольно щедрое значение:

php_value upload_max_filesize 999M
php_value post_max_size 999M
php_value max_execution_time 900
php_value max_input_time 900

Я не уверен, что вызывает такое поведение. У меня такое ощущение, что html-форма обрезается, хотя я установил для post_max_size огромное число; Я говорю это, потому что, когда я помещаю переключатель в конец длинной формы, этот переключатель не передается в массив $_POST на следующем шаге.


РЕШЕНО

Хорошо, ребята, спасибо за попытку помочь. Копался в логах и нашел проблему. Как я и подозревал, массив $_POST обрезался. Я просмотрел журналы php и нашел эту запись:

Feb 17 17:12:54 workpc suhosin[3895]: ALERT - configured POST variable limit exceeded - dropped variable 'selected[]' (attacker '192.168.0.175', file '/var/www/html/sandbox/index.php')

Несмотря на то, что я увеличил post_max_size в php, этого было недостаточно. Таким образом, мне пришлось изменить эти два параметра в файле /etc/php5/conf.d/suhosin.ini.

suhosin.post.max_vars = 1000
suhosin.request.max_vars = 1000

Я увеличил значение, и это сработало. Все ~3000 строк были импортированы.


person Sparctus    schedule 17.02.2012    source источник
comment
Пожалуйста, покажите нам какой-нибудь код, скорее всего, это связано с тем, как вы закодировали свой импорт. Существует ограничение на вставки в нерасширенном формате, но люди редко используют этот синтаксис...   -  person Mathieu Dumoulin    schedule 18.02.2012
comment
Каково максимальное значение auto_increment или максимальный размер поля auto_increment? Скрипт быстро останавливается? Если вы запустите его через цикл, вы получите mysql_error()?   -  person MyStream    schedule 18.02.2012
comment
Добавьте немного кода. Трудно что-то сказать, не видя кода.   -  person Tarandeep Gill    schedule 18.02.2012
comment
важно изменить оба значения suhosin.post.max_vars и suhosin.request.max_vars, чтобы они были идентичными - изменение значения только для post все равно приведет к той же ошибке POST variable limit exceeded, независимо от того, насколько высокое значение вы установите   -  person Stuart Cardall    schedule 30.03.2018


Ответы (1)


Я предполагаю, что такого ограничения на импорт CSV нет, но я бы использовал что-то подобное для импорта данных из CSV.

LOAD DATA INFILE 'mydata.csv' INTO TABLE YOUR_TABLE FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
person Jaspreet Chahal    schedule 17.02.2012