2012-05-03 3 views
1

Я говорю 100 строк данных для вставки в таблицу базы данных MySQL.
Но я не хочу писать все заявления 100 INSERT.
Есть ли массовая вставка Statement в SQL ??? Пожалуйста, помогите с кодом, если это возможно.Batch insert SQL statement

ответ

2
INSERT INTO tbl (col1, col2) VALUES ('val1', 'val2'), ('val3', 'val4'), ... 

И пожалуйста, прочитайте documentation первый следующий раз

+0

Извините, на самом деле я не удалил его. Я просто изменил запрос как часть кода. –

+0

@Sai Kalyan Akshinthala: ах, понял. Мы сделали 2 изменения в одно и то же время, и ваш был первым, извините – zerkms

2

Как MySQL manual состояний:

INSERT операторы, использующие VALUES синтаксис можно вставить несколько строк. Для этого включите несколько списков значений столбцов, каждый из которых заключен в круглые скобки и разделен запятыми. Пример:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

Кроме того, из раздела на speed of INSERT:

Если вы вставляете много строк из одного клиента в то же время, использовать INSERT заявления с несколькими VALUES списки, чтобы вставить несколько строк за раз. Это значительно быстрее (во многих случаях быстрее), чем использование отдельных однострочных операторов INSERT. Если вы добавляете данные в непустую таблицу, вы можете настроить переменную bulk_insert_buffer_size, чтобы сделать вставку данных еще быстрее. См. Section 5.1.3, “Server System Variables”.