SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.09.2007 12:14:43

aleksmir
Участник
Зарегистрирован: 10.09.2007
Сообщений: 3

Как объединить несколько команд INSERT в один запрос?

Я с MySQL недавно... поэтому вопрос чайника.
Как объединить несколько команд INSERT или REPLACE в один запрос?

Допустим в документе будет 1000 строк. Мне кажется один запрос из 1000 операторов INSERT будет передаваться на сервер быстрее, чем 1000 запросов по-отдельности.

Это особенно важно, если сервер расположен в Интернет на виртуальном хостинге и доступ к нему осуществляется через медленный интернет (например Dial-Up или GPRS).

Неактивен

 

#2 10.09.2007 13:16:59

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3846

Re: Как объединить несколько команд INSERT в один запрос?

INSERT INTO table_name (col1, col2, col3) VALUES (val11,val12,val13), (val21,val22,val23), ..., (valN1, valN2, valN3)

синтаксис REPLACE аналогичный

Общая длина запроса не должна превышать переменную new_buffer_length (значение по умолчанию 1 Mb)

Отредактированно rgbeast (10.09.2007 13:19:00)

Неактивен

 

#3 10.09.2007 13:35:45

aleksmir
Участник
Зарегистрирован: 10.09.2007
Сообщений: 3

Re: Как объединить несколько команд INSERT в один запрос?

Проверил, всё работает!

Большое спасибо!

Даже сказали - где задаётся максимальная длина запроса, я как раз хотел про это спросить.

Хороший у вас форум!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson