![](/img/trans.png)
[英]Inserting a row in MYSQL using java jdbc by taking an input from user
[英]inserting only one row of each loop in jdbc using java
我有兩個表,我需要為每個具有特定批次的客戶端循環並更新到另一個表。 下面是我的代碼
client Table
----------
client_id
1
2
3
batch_meta_data_id Table
------------
client_id batch_id
1 12
1 13
2 14
2 15
2 16
3 17
Statement stmt = null;
stmt = conn.createStatement();
sql = "SELECT client_id FROM client";
ResultSet rs1 = stmt.executeQuery(sql);
while(rs1.next()){
if(rs1.next()){
stmt = conn.createStatement();
sql = "SELECT batch_meta_data_id FROM batchmetadata WHERE client_id = "+rs1.getInt("client_id");
ResultSet batchSql = stmt.executeQuery(sql);
if(batchSql.next()){
stmt = conn.createStatement();
String sql1 = "INSERT INTO METRICS (client_id, batch_id, count)"
+ "VALUES ( '"+rs1.getInt("client_id")+"','"+batchSql.getInt("batch_meta_data_id")+"',(SELECT count(*) FROM typist where client_id = '"+rs1.getInt("client_id")+"' and batch_meta_data_id = '"+batchSql.getInt("batch_meta_data_id")+"'))";
stmt.executeUpdate(sql1);
}
}
}
這里只插入每個客戶端的第一批,其他批次的客戶端不會循環。 我怎么能解決這個問題?
在這段代碼中
while(rs1.next()){
if(rs1.next()){
你增加了兩次
看
https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#next()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.