只需一个插入通讯插入一个表中的多行
有点难以用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