別のテーブルの変数を使用した計算に基づいて1つのmysqlテーブルを更新する

StackOverflow https://stackoverflow.com/questions/1641974

  •  10-07-2019
  •  | 
  •  

質問

別のテーブルの値に基づいて1つのテーブルを更新しようとしています。次のリクエストの何が問題になっていますか?エラー:「where句」の不明な列「source.col3」

UPDATE target 
  SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
役に立ちましたか?

解決

まあ、どこかで 'source'をテーブルとして指定していない人のために。

MySQLは実際に複数のテーブル更新をサポートしているため、次のようにコードを書くことができます:

UPDATE target, source
   SET target.col1=source.col1*target.col2
 WHERE target.col3=source.col3

それが実際にあなたが望むことをするかどうかは、あなたのテーブルについての詳細を知らずには言えません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top