

insert - вставить за один запрос множество строк
Автор goodcolor, 18 нояб. 2016 02:11
Сообщений в теме: 6
#1
Отправлено 18 Ноябрь 2016 - 02:11
Возможно ли вставить 1 запросом несколько строк?
Если да, где можно ознакомиться с описанием синтаксиса?
Если да, где можно ознакомиться с описанием синтаксиса?
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
#2
Отправлено 18 Ноябрь 2016 - 06:47
Используйте как вариант многомерный массив типа:
$data = array(array(тут поля первой строки), array(тут поля второй строки) и т.д.); data_insert(ID таблицы, $data);
#3
Отправлено 18 Ноябрь 2016 - 10:34
Dinak (18 Ноябрь 2016 - 06:47) писал:
Используйте как вариант многомерный массив типа:
$data = array(array(тут поля первой строки), array(тут поля второй строки) и т.д.); data_insert(ID таблицы, $data);
Мысль конечно интересная, но на данный момент такой синтаксис функция data_insert не поддерживает.
#4
Отправлено 18 Ноябрь 2016 - 10:41
goodcolor (18 Ноябрь 2016 - 02:11) писал:
Возможно ли вставить 1 запросом несколько строк?
Если да, где можно ознакомиться с описанием синтаксиса?
Если да, где можно ознакомиться с описанием синтаксиса?
http://www.mysql.ru/...man/INSERT.html
INSERT INTO tbl_name (col_name, ...) VALUES (expression, ...), (...), ...
т.е. только прямым запросом INSERT
#5
Отправлено 18 Ноябрь 2016 - 12:48
CbCoder (18 Ноябрь 2016 - 10:34) писал:
Мысль конечно интересная, но на данный момент такой синтаксис функция data_insert не поддерживает.
//Собственная функция function data_bulk_insert($table_id,$insert_arr,$gen_event=false) { $ret = array(); foreach($insert_arr as $arr) { if(is_array($arr)) { if($gen_event) $new_id = data_insert($table_id,EVENTS_ENABLE,$arr); else $new_id = data_insert($table_id,$arr); $ret[] = $new_id; } } return $ret; }
Но так конечно значительно быстрее
CbCoder (18 Ноябрь 2016 - 10:41) писал:
http://www.mysql.ru/...man/INSERT.html
т.е. только прямым запросом INSERT
INSERT INTO tbl_name (col_name, ...) VALUES (expression, ...), (...), ...
т.е. только прямым запросом INSERT
Сообщение отредактировал maksn: 18 Ноябрь 2016 - 13:13
#7
Отправлено 18 Ноябрь 2016 - 17:12
CbCoder (18 Ноябрь 2016 - 15:31) писал:
Так это уже не "одним запросом". Я так понимаю человеку производительность нужна, раз спрашивает.
Да, так и есть. Ради оптимизации.
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
Количество пользователей, читающих эту тему: 6
0 пользователей, 6 гостей, 0 анонимных