У меня есть массив с 30000 плюс записями, которые нужно поместить в таблицу MySQL.
Какова лучшая практика?Отсюда?Скажем, [0], [1] и [2] в базе данных будут «title», «type» и «customer»
Добавляет ли он имена ключей, соответствующие именам столбцов в таблице, и вызывает som«волшебная» функция?Или создайте запрос вручную ...
Array
(
[0] => Array
(
[0] => 2140395946
[1] => 1SAP
[2] => 0041451463
)
[1] => Array
(
[0] => 2140411607
[1] => 2SAP
[2] => 0041411940
)
[2] => Array
(
[0] => 2140706194
[1] => 4SAP
[2] => 0041411943
)
etc. etc.
ОБНОВЛЕНИЕ - на основе ответов
Спасибо за ответы.
Решение обычно будетчтобы вручную создать строку SQL, и все строки можно вставить как одну:
INSERT INTO `tx_opengate_table` (`machine` ,`customer` ,`type`)
VALUES
('m123', 'dfkj45', 'A'),
('m137', 'kfkj49', 'A'), "repeat this line for each entry in the array"
... ... ...
('m654321', '34dgf456', 'C4') "end with out comma, or remove last comma"
;
Специально для TYPO3
Я могу сделать это в CMS TYPO3 итолько что наткнулся на новую функцию, добавленную не так давно:
//Insert new rows
$table = 'tx_opengate_stuff';
$fields = array('machine','type','customer');
$lines = "array as given above"
$GLOBALS['TYPO3_DB']->exec_INSERTmultipleRows($table,$fields,$lines);