我正在使用mysql和java,我有一些带有一些值的arraylist,我有一些列的mysql表。 示例:
Arraylist valAry = new ArrayList();
valAry.add('25');
valAry.add('28');
表值:
现有的新表可能是
**newtable**
id val1 min_val1 max_val1 val2 min_val1 max_val1 time_stamp
1 24 9 24 27 14 35 2014-03-27 15:06:00
由此我想用我当前的arraylist检查 newTable 并更新newtable值。
id val1 min_val1 max_val1 val2 min_val1 max_val1 time_stamp
1 25 9 25 28 14 35 2014-03-27 15:07:00
这里我只列出了arraylist中的2个值,将来它可能会变成5或15或30,它可能是什么,就像表列将自动生成一样。
所以使用单个查询比较更新语句来更新表。
请帮助我。
答案 0 :(得分:0)
更新表 set val1 = valAry.get(new Integer.valueOf(25))and val2 = valAry.get(new Integer.valueOf(28)) 其中id = 1;
答案 1 :(得分:0)
对不起伙计们,我尝试了以下方法从java端更新表它的工作原理。有没有其他最好的方法可以帮助我使用....
StringBuilder sb = new StringBuilder(128);
sb.append("update newtable set ");
for(int g=0;g<valAry.size();g++){
sb.append("val1 =").append(valAry.get(g)).append(", min_val1 = IF (min_val1 <").append(valAry.get(g)).append(", min_val1 , ").append(valAry.get(g)).append(") , max_val1 = IF (max_val1 > ").append(valAry.get(g)).append(", max_val1 , ").append(valAry.get(g)).append("),");
}
sb.append("time_stamp = '").append(time_stamp).append("' where id = 1");
谢谢你们所有人......