23 / 23 / 9
Регистрация: 24.04.2010
Сообщений: 220
|
|
1 | |
Вставка массива в БД10.11.2013, 19:30. Показов 2414. Ответов 9
Метки нет (Все метки)
Всем привет!) Понадобилось мне занести массив в бд MySQL. Записей в массиве очень много и возник вопросом можно ли занести массив в БД одним запросом? Если да, то как это правильно сделать?
0
|
10.11.2013, 19:30 | |
Ответы с готовыми решениями:
9
Одномерные массивы. Вставка, удаление элементов массива. Перестановка элементов массива. Сортировка массива методом пузырька Сумма элементов массива, равных первому элементу массива (Ассемблерная вставка с++) Вставка элемента массива в любое место массива Вставка из массива |
ищите меня в нирване
36 / 36 / 5
Регистрация: 23.10.2013
Сообщений: 198
|
|
10.11.2013, 19:50 | 2 |
Правильно -никак. Это не типичная задача для веб приложения, поэтому следует сформировать sql скрипт загрузки или массив csv, с помощью того же php, или вообще на настольном приложении, а потом сделать загрузку средствами базы данных...
0
|
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
|
|
11.11.2013, 10:01 | 3 |
Можно, но ограниченное количество записей, у меня лично один INSERT не добавляет больше 500 записей за раз,
поэтому рекомендую разбивать на несколько запросов в случае большого количества данных Ну и конечно если вам по отдельности данные не нужны ни для выборок, ни вообще, то можно хранить серелизованный массив (не особо приветствуется)
0
|
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
|
||||||
11.11.2013, 11:53 | 4 | |||||
Вообще-то говоря в вашем вопросе мало данных о задаче...
Что вы хотите сделать? Занести все записи массива в одно поле какой-то записи БД? Или каждую ячейку массива в своё поле??? Если второе, то я делал так:
Возможно есть какие-то настройки сервера ограничивающие колличество вставляемых записей в БД..? В противном случае я просто не понимаю, что мешало вандал вставлять больше 500 записей...
1
|
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
|
|
11.11.2013, 14:03 | 5 |
Dozentos, ну да что-то ограничивает, что именно я тоже сказать не могу
0
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
||||||
11.11.2013, 14:28 | 6 | |||||
Dozentos, такая схема мне знакома. Меня как раз надо вставить каждую ячейку массива в своё поле. Я думал как упростить эту задачу снизив нагрузку на сервер. На мой взгляд оптимальный выход такой: занести весь массив в csv файл в виде:
0
|
112 / 112 / 18
Регистрация: 24.09.2013
Сообщений: 509
|
|
11.11.2013, 16:55 | 7 |
Mogul-kan, почитайте вот эту статью: http://ruseller.com/lessons.php?rub=37&id=699
1
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
11.11.2013, 17:11 | 8 |
Web_Master, интересно
0
|
112 / 112 / 18
Регистрация: 24.09.2013
Сообщений: 509
|
|
11.11.2013, 17:15 | 9 |
_масяня_, правда я пробовал хранить массив состоящий из 2900 значений и у меня не получалось вытащить данные обратно из бд. Незнаю в чем была проблема, но я от идеи хранить массив в бд отказался.
0
|
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
|
|
13.11.2013, 10:16 | 10 |
_масяня_, с csv файлами я сталкивался только при импорте данных их 1С в каталог интернет-магазина. Записи в БД обычно вставляю php скриптом. Для выполнения вашей задачи я бы перебрал массив в цикле сформировав строку запроса. Вроде проще некуда..?
В принципе, если вам нужно вставлять много записей в БД не часто, то необязательно пользоваться этим приёмом. Сервер не сильно "устанет" выполнив несколько запросов вместо одного. Время выполнения тоже не будет заметно отличаться. Другое дело, если требуется часто добавлять или изменять множество строк... да ещё, если это счастье даровано пользователям, которые делают это, естественно, с разных, удалённых машин. В таком случае, конечно, желательно максимально сократить время запроса к БД. Ещё касаемо ограничений на один запрос вспомнилось, что он не должен превышать максимального размера для передачи по протоколу HTTP. По-моему 8 Мб. Возможно это мешало вандалу...
1
|
13.11.2013, 10:16 | |
13.11.2013, 10:16 | |
Помогаю со студенческими работами здесь
10
вставка массива А в В Вставка элементов массива 2 вставка элементов массива Вставка массива в mysql Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |