|
|
|
| У меня есть форма, я в ней забиваю 10 цен... которые должны стать 10 строчками водной таблице.
У меня в голове такие варианты как эти данные добавить в таблицу:
1. перебрать массив циклом и сделать 10 запросов.
2. Как-нибудь одним запросом. Но я не знаю как, и не знаю возможно ли это вообще?
Проконсультируйте по второму пункту, плиз...
... ну и если есть еще какие варианты... тоже инересно... | |
|
|
|
|
|
|
|
для: tAleks
(01.09.2006 в 18:32)
| | 2.
можно.
INSERT INTO goods (name, price) VALUES
('apples', 40),
('oranges', 80),
('cherry', 80);
|
| |
|
|
|
|
|
|
|
для: Trianon
(01.09.2006 в 19:06)
| | Есть ли ограничение на количество одновременно добавляемых записей в базу, таким запросом?
У меня прайс лист примерно 1000 наименований. Я загружаю его из CSV-файла.
Я думаю так: Сформировать циклом запрос, и потом одним запросом все это отправить в базу. Я думаю что это будет лучше, чем каждую запись отдельным запросом.
Я правильно думаю? | |
|
|
|
|
|
|
|
для: tAleks
(07.09.2006 в 22:47)
| | Есть ограничение не на число записей, а на общую длину запроса. Она не должна превышать размер буфера MySQL. Так что всё зависит не столько только от количества записей , сколько от их суммарного размера.
Возможно, Ваш CSV и не превысит лимит.
В любом случае, пакетная загрузка предпочтительней одиночной. | |
|
|
|
|
|
|
|
для: Trianon
(07.09.2006 в 23:28)
| | Как узнать размер буфера MySQL? | |
|
|
|
|
|
|
|
для: tAleks
(08.09.2006 в 00:53)
| | Для этого необходимо посмотреть содержимое серверной переменной max_allowed_packet при помощи запроса
SHOW VARIABLES LIKE 'max_allowed_packet';
|
PS Скорее всего она будет пару мегабайт. | |
|
|
|