mysql客户端/服务器协议是否支持批量插入

时间:2015-06-11 12:58:10

标签: mysql

我需要通过prepared statement通过mysql客户端/服务器协议对mysql表执行大量inserts。怎么做得更好?是否只有一种方法来构建查询,如下所示:

insert into my_table (?, ?), VALUES (1,2), (..., ...)....

并发送它或者mysql客户端/服务器协议支持批量插入?我在mysql文档中找到了COM_STMT_SEND_LONG_DATA,但我不确定它是我需要的。

我在java上看到了示例:Java: Insert multiple rows into MySQL with PreparedStatement并且有addBatch方法。此方法是仅使用许多insert子句构建一个VALUES请求,还是使用了mysql协议中的某些内容?

谢谢。

2 个答案:

答案 0 :(得分:2)

MySQL服务器支持批量插入,是的。你可以这样做:

INSERT INTO table_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9),(10,11,12);

答案 1 :(得分:0)

尝试这样的事情:

插入membersmemberIDCompanyNameLocation)值 (1,' John Doe'匹兹堡'), (2,' Jane Sikes'纽约'), (3,'鲍勃史密斯'洛杉矶');