只需一个插入通讯插入一个表中的多行

有点难以用SQL解释,因为我使用的是内部技术,但假设我有一个结构数组(类似于C#,C ++等中的结构),我想将它的值插入到表中。 因此,一种方法是遍历数组的psedu代码,读取结构的字段并将它们插入表中,如下所示:

for int i =1 to array.Lenght
{
    insert into MyTable values
    {
       MyTable.Field1 = array[i].Field1;
       //etc ...
    }
}

但这是不好的,因为执行。 如果数组有十个元素,我们将调用插入方法十次。 应该有一个brillinat方法,只需要一个插入,不知何故在表上使用JOINS,然后只需调用一次插入,但我无法想象如何做到这一点......

任何想法都是值得欢迎的。

谢谢。


这确保查询执行一次。 这只是一个想法,避免多次呼叫插入

@sql = 'insert into mytable(col_1) values'
for int i =1 to array.Lenght
{
   if(i > 1)
    @sql = ',('+@sql + array[i].Field1+')'
   else
    @sql = '('+@sql + array[i].Field1+')'
}
@sql = @sql + ';'
exec @sql

脚本看起来像

 insert into mytable(col_1) values
 (1),(2),(3);

使用单个查询将多个记录插入到MySQL中:

INSERT INTO example
  (example_id, name, value, other_value)
VALUES
  (100, 'Name 1', 'Value 1', 'Other 1'),
  (101, 'Name 2', 'Value 2', 'Other 2'),
  (102, 'Name 3', 'Value 3', 'Other 3'),
  (103, 'Name 4', 'Value 4', 'Other 4');

http://www.electrictoolbox.com/mysql-insert-multiple-records/

链接地址: http://www.djcxy.com/p/94511.html

上一篇: Inserting multiple rows in one table with just one insert commnad

下一篇: How to insert multiple rows in Web SQL Database?