Мне интересно, как лучше вставить многомерный массив значений в базу данных – в частности, две таблицы? Я создал следующий цикл foreach, который создает запрос, который будет вставлять все записи в одну таблицу:
foreach($newPosts as $value) { if(!isset($postQuery)) { $postQuery = "INSERT INTO posts (primay_key, col1, col2, col3, col4) VALUES ('$value[0]', FROM_UNIXTIME($value[4]), '$value[2]', '$value[1]', '$value[3]')"; } else { $postQuery .= "('$value[0]', FROM_UNIXTIME($value[4]), '$value[2]', '$value[1]', '$value[3]')"; } }
Я хочу сохранить одно из значений в отдельной таблице, так как значение особенно велико, а строка отформатирована как Longtext. Это значение также редко запрашивается при запросе базы данных. Я предполагаю, что перемещение его во вторую таблицу увеличит скорость запроса первой таблицы? Это верно?
Если я переместил это значение во вторую таблицу, я хочу связать таблицы с primary_key из первой таблицы, которая является значением автоинкремента. Как я прокручиваю этот многомерный массив и вставляю свои данные в обе таблицы, вставляя primary_key первой таблицы во вторую? Я знаю, что могу использовать LAST_INSERT_ID (), если я выполняю каждый запрос по одному за раз. Некоторые обновления будут содержать сотни строк, поэтому я не хочу этого делать.
Заранее спасибо!