标签: multiple-insert

MySQL - 我可以在一个INSERT语句中插入多少行?

它取决于值集的数量吗?它是否依赖于INSERT语句中的字节数?

mysql multiple-insert

81
推荐指数
7
解决办法
8万
查看次数

我该如何多次插入多条记录?

我有一个名为Entry这样的类:

class Entry{
    string Id {get;set;}
    string Name {get;set;}
}  
Run Code Online (Sandbox Code Playgroud)

然后Entry使用ADO.NET 接受多个此类对象插入数据库的方法:

static void InsertEntries(IEnumerable<Entry> entries){
    //build a SqlCommand object
    using(SqlCommand cmd = new SqlCommand()){
        ...
        const string refcmdText = "INSERT INTO Entries (id, name) VALUES (@id{0},@name{0});";
        int count = 0;
        string query = string.Empty;
        //build a large query
        foreach(var entry in entries){
            query += string.Format(refcmdText, count);
            cmd.Parameters.AddWithValue(string.Format("@id{0}",count), entry.Id);
            cmd.Parameters.AddWithValue(string.Format("@name{0}",count), entry.Name);
            count++;
        }
        cmd.CommandText=query;
        //and then execute the command
        ...
    }
}  
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该继续使用上面的方式发送多个insert语句(构建一个巨大的insert语句及其参数字符串并通过网络发送),或者我应该保持一个打开的连接并发送一个insert语句对于每个人Entry这样:

using(SqlCommand …
Run Code Online (Sandbox Code Playgroud)

c# ado.net sql-server-2005 multiple-insert

28
推荐指数
5
解决办法
8万
查看次数

插入多行时,语句'从双选择1'是什么?

使用以下样式将多行插入表中时:

insert all

into ghazal_current (GhazalName,Rating) values('Ajab Apna Haal Hota Jo Visaal-e-Yaar Hota',5)
into ghazal_current (GhazalName,Rating) values('Apne Hothon Par Sajana Chahta Hun',4)
into ghazal_current (GhazalName,Rating) values('Shaam Se Aankh Mein Nami Si Hai',4)
into ghazal_current (GhazalName,Rating) values('Tumhe Yaad Ho Ke Na Yaad Ho',3)

select 1 from dual;
Run Code Online (Sandbox Code Playgroud)

该陈述select 1 from dual是什么意思?这是什么?

sql oracle oracle11g multiple-insert

14
推荐指数
2
解决办法
2万
查看次数

MySQL在多行插入中的AUTO_INCREMENT行为

我认为我的问题的答案是显而易见的,但由于我找不到任何支持它的文件,我认为值得问.至少是为了记录.

众所周知,AUTO_INCREMENT每次INSERT执行语句时字段都会递增.它的值可以通过LAST_INSERT_ID()函数检索.MySQL手册中还提到,使用多行插入时,LAST_INSERT_ID()将返回插入行的第一个ID.我认为这是一个好主意(非常有用).

所以这是我的问题:

我可以在INSERT IGNORE INTO具有多行的语句中假设,AUTO_INCREMENT字段的插入ID 将始终是顺序的吗?请记住,由于IGNORE修改器和MySQL服务器的多用户性质,可能会发生不同的情况.

谢谢.

mysql auto-increment multiple-insert

8
推荐指数
1
解决办法
7260
查看次数

SQL Server:使用MERGE进行多次INSERT

我正在尝试在MySQL数据库和SQL Server 2008 R2之间编写桥梁来同步表中的值.我陷入SQL Server数据库的多插入值.通常在MySQL中我使用如下查询:

INSERT INTO table (column1, column2)
VALUES(value1, value2), (value3, value4)
ON DUPLICATE KEY UPDATE column2 = VALUES(value2);
Run Code Online (Sandbox Code Playgroud)

有没有办法如何多次插入SQL Server MERGE

谢谢你的回答

sql-server sql-server-2008-r2 multiple-insert on-duplicate-key

5
推荐指数
1
解决办法
7032
查看次数

在Oracle中插入带序列的多行

这是我用于在oracle数据库中插入多行的查询.但是当我在其中使用序列时,它会引发错误,如ORA-00001:唯一约束.怎么做.

INSERT ALL
  INTO POSTAL_CODE( postal_code,desc)
    VALUES(postal_code.NEXTVAL,'Coimbatore')
  INTO POSTAL_CODE (postal_code,desc)
    VALUES(postal_code.NEXTVAL,'Mumbai') SELECT * FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

oracle sequence multiple-insert

5
推荐指数
2
解决办法
9504
查看次数

在 Rust 中使用 Tokio-postgres 将多个值插入到 Postgres

我正在使用下面的代码使用 tokio-postgres 插入到 Postgres 数据库,是否有更好的选择:

let members = &[obj] //obj is a struct
let mut params = Vec::<&(dyn ToSql + Sync)>::new();
let mut i = 1;
let mut qry:String = "insert into tablename(id,userid,usertype) values".to_string();
for column in members{
    if(i ==1){
        qry = format!("{} (${},${},${})",qry,i,i+1,i+2);
    }else{
        qry = format!("{}, (${},${},${})",qry,i,i+1,i+2);

    }
    params.push(&column.id);
    params.push(&column.userid);
    params.push(&column.usertype);
    i = i+3;
               
}
println!("qry : {}",qry);
let result = p.execute(&qry, &params[..]).await; //p is the pool manager
Run Code Online (Sandbox Code Playgroud)

postgresql multiple-insert rust tokio-postgres

5
推荐指数
1
解决办法
2863
查看次数

Scrapy管道中的批处理/批量SQL插入[PostgreSQL]

我使用自己的管道将废弃的项目存储到PostgreSQL数据库中,几天前我进行了扩展,现在将数据存储到3个数据库中.所以,我想让每100个项目调用插入数据的管道,或者它取出项目并将它们插入100×100.

我想让它在数据库服务器上快速而不那么头疼的原因.

python postgresql multiple-insert scrapy

2
推荐指数
1
解决办法
3115
查看次数

将OUTPUT Insert.id插入到多个值insert中的另一个表中

为简单起见假设我有两张桌子

user table (id, email)

user log table (id, date)

无论在用户表中插入什么id,都应该在user_log表中插入相同的id,否则事务应该失败.

我怎样才能做到这一点

BEGIN TRANSACTION

INSERT into user(id, email) OUTPUT Inserted.id (1, 'a@x.com', 'x'), (2, 'b@x.com', 'y')  

// I also want to be able to do
INSERT into user_log(id, date) values(1, date), (2, date) 

COMMIT TRANSACTION
Run Code Online (Sandbox Code Playgroud)

sql-server multiple-insert sqltransaction

1
推荐指数
1
解决办法
2276
查看次数