我正在嘗試將包含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