Импорт больших данных с использованием PHP и MySQL в несколько таблиц с внешними ключами - PullRequest
0 голосов
/ 30 мая 2018

Какой лучший способ вставить большие данные в несколько таблиц в БД из CSV с внешними ключами?

Я попытался импортировать большой CSV-файл в несколько таблиц, и я использую обычныеMysql запрос с зацикливанием данных CSV, но это было очень медленно.Затем я попробовал метод «LOAD DATA». Но можно вставить данные только в одну таблицу с тем же порядком столбцов.

Однако это не сработает, потому что мне нужно вставить данные в несколько таблиц, и мне нужноиспользовать последний

вставленный идентификатор одной таблицы для присоединения к другой таблице.

Может кто-нибудь предложить лучший способ загрузки данных в несколько таблиц?

Здесь я использую Zend Framework с Doctrine для обработки операций с базой данных.Однако, насколько я понимаю, Doctrain отнимает больше времени, чем обычный запрос MySQL, поэтому я использовал прямой MySQL Query.

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете импортировать большие файлы из миллионов записей за один прием снизу, пожалуйста, используйте mysql Load DATA

для ex-

LOAD DATA LOCAL INFILE  
'/PATH_TO_YOUR_CSV/YOUR_CSV.csv'
INTO TABLE MY_TABLE
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Пожалуйста, помните структуру вашей таблицы и вашСтруктура файла CSV (без столбцов) должна быть такой же

...