# MYSQL     werte aus liste auslesen und anderen damit updaten



## Prinz (26. Aug 2006)

Hallo,
ich habe in einer tabelle einige datensätze (1500) wo an einer bestimmten stelle null steht. Wie ich die abfrage ist klar

```
SELECT iduser FROM `user` u where age is null
```


ich will nun das ergebnis in einer anderen tabelle updaten. Also

replace (id = ergebnis von mysql abfrage, gelesen = 0)



weiß jemand wie das geht?


----------



## sayang (27. Aug 2006)

Du musst in der while-Schleife, die das ResultSet durchwandert einfach ein neues Statement erzeugen (mit entsprechenden Werten für id und gelesen (wobei die ja offenbar immer 0 sein sollen) und das Statement dann per executeUpdate ausführen.


```
Connection conn = null;
ResultSet rs = null;
Statement stmt1 = null;
Statement stmt2 = null;

try {
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  conn = DriverManager.getConnection("jdbc:mysql://<host>/<db>?user=<username>&password=<pw>");
  stmt1 = conn.createStatement();
  rs = stmt1.executeQuery("SELECT iduser FROM user WHERE age IS NULL");
  
  while(rs.next()) {
    int id = rs.getInt("iduser");
    stmt2 = conn.createStatement();
    stmt2.executeUpdate("INSERT INTO tabelle2 SET gelesen=0 WHERE id="+id);
    stmt2.close();
  }
} catch (...) {
  ...
}
finally {
  if (rs != null) {
    try {
      rs.close();
    } catch (SQLException e) {}
  }
  if(stmt != null) {
    try {
      stmt1.close();
    } catch (SQLException e) {}
  }
  if(conn != null) {
    try {
      conn.close();
    } catch (SQLException e) {}
  }
}
```

Lg
sayang


----------



## Ravenlord (27. Aug 2006)

also wie genau weiß ich leider auch nicht, bin auch erst neu in SQL usw aber ich versuchs mal zu skizzieren....

UPDATE `der tabellen`.`der wert den du ersetzen willst` VALUES ( 
Hier dann des select irgendwie reinwurschteln rein:
`SELECT iduser FROM `user` u where age is null`)


irgendwie so würd ich das mal probieren, genau kann ichs die aber wie gesagt nicht sagen, aber bevor du überhaupt keine vorschläge bekommst


----------



## Prinz (27. Aug 2006)

danke,

denke das wir ab und zu mal vorkommen


hatte es erst mit excel gelöst. Werde aber sayangs lösung übernehmen 

danke


----------



## Ravenlord (27. Aug 2006)

ups hatte wohl nich vorher aktuallisiert, da war jemand schneller 

 :applaus:


----------

