2

テーブルがAありB、それぞれ同じ主キー (Col1) を持っています。

表 A 表 B
列 1 | 列 2 | コラム 3 コラム 1 | コラム4

Btableの対応する行からの情報に基づいて、 table の行を更新したいと思いますA。2 つのテーブルで内部結合を使用して結果セットを取得する場合、

select A.Col1, A.Col2, A.Col3, B.Col4 from A inner join B on A.Col1=B.Col1;

この結果セットを反復処理して、表 B の Col4 を更新できますか? つまり、JDBC/ResultSet updateX(...) メソッドを使用していますか?

私が尋ねる理由は、少し奇妙に思えるからです。結果セット A を B に結合してテーブル B を更新するのは少し奇妙に思えるからです。


明確化:これが問題になるかどうかはわかりませんが、直接の MySQL 更新クエリではなく、JDBC ResultSet インターフェイスを介して行を更新することに興味があります。回答ありがとうございます。

4

3 に答える 3

0

一部のデータを変換してテーブル間で移動するシナリオを探しているときに、これに出くわしました。

2 パスの回避策がありますが、一時的な列を作成する必要があります。

  • 最初にターゲット テーブルで、変換に必要なフィールドの一時的な列を作成します。
  • 次に、単純な SQL 更新を使用して、他のテーブルからそれらの列を設定します。
  • 3番目に、更新可能な結果セットを使用して、最初に実行したかった変換を実行します
  • 最後に一時的な列を削除します
于 2016-04-17T19:58:39.070 に答える