我正在尝试将包含12个数组的一个JAVA程序的输出用于一群不同的用户,并将它们放入一个表中。无论如何要做到这一点大批量,而不必一次做一个?在MySQL中批量插入值
回答
我已经做到了,像这样:
INSERT INTO my_users (name, passwd, somefield) VALUES ('joe', 'pass', 'abc'), ('jeff', 'pass1', 'abcd'), ('jake', 'pass2', 'abcde')
INSERT
允许您一次插入多个值:
INSERT
INTO
table
(column_a, column_b, column_c)
VALUES
(1, 2, 3),
(4, 5, 6),
(7, 8, 9)
;
这是标准的SQL,并应在大多数数据库工作。 (我遇到了一些例外情况:过时的数据库和MSSQL,但您使用的是支持MySQL的数据库)。
可以始终将数据写入文件,并使用LOAD DATA INFILE语句批量将它们读入数据库。但取决于规模,这可能不值得担心速度。
使用批量插入。从http://www.roseindia.net/jdbc/jdbc-mysql/PreparedStatementBatchUpdate.shtml适应:
Connection conn;
User[] users;
PreparedStatement prest = con.prepareStatement("INSERT INTO users VALUES(?,?)");
conn.setAutoCommit(false);
for(user : users) {
prest.setString(1, User.getUserName());
prest.setInt(2, User.getAge());
}
prest.addBatch();
int count[] = prest.executeBatch();
conn.setAutoCommit(true);
prest.close();
在现实世界中,你将要与一群try..finally块洒,但我会假设你知道或者能找到其他地方如何做到这一点。
玫瑰印度作为引用?请。 – duffymo 2010-09-03 20:59:52
需要查看语法,并且在一段时间内没有这样做......只是知道该找什么:) – ykaganovich 2010-09-03 21:06:54
- 1. MySQL批量值插入
- 2. mysql批量插入
- 3. MySQL批量插入
- 4. NodeJS将批量值插入MySQL
- 5. 使用node.js在MySql中批量插入
- 6. 批量在MySQL中插入SQL查询
- 7. 批量插入到mysql
- 8. MySQL快速批量插入
- 9. PHPexcel批量插入到mysql
- 10. MYSQL批量插入慢
- 11. Python + MySQL - 批量插入
- 12. mysql C API批量插入
- 13. 在Redis列表中插入批量值
- 14. 批量插入,插入其他值
- 15. MYSQL批量插入如果存在
- 16. 在Realm中批量插入
- 17. 在JDBC中批量插入
- 18. 在RavenDB中批量插入
- 19. 批量/批量插入R
- 20. “批量插入”在数据库中插入空值
- 21. 插入变量值在插入mysql查询中插入新行
- 22. 批量插入
- 23. 批量插入
- 24. 在SQLite缓慢批量/批量插入
- 25. 插入值,另一个值,批量
- 26. Hibernate/MySQL批量插入问题
- 27. 批量插入错误mysql和java
- 28. 批量插入和更新MySQL
- 29. MySQL的批量插入忽略
- 30. 通过PHP批量插入MySQL
我知道这不是你的例子的重点,但是......数据库中的明文密码?!? – Piskvor 2010-09-03 20:54:10
那些只看起来纯文本,这是我的加密是多么的好:) – 2010-09-03 20:55:25
啊,你实际上在'somefield'中存储密码,只是保持'passwd'来欺骗黑客,我明白了。非常狡猾,确实! – Quassnoi 2010-09-03 20:58:01