1

データベース内の既存のテーブル (TNR) から既存のテーブル (OS) 内の新しい列 (osTNR) に値を追加しようとしている MySQL ワークベンチを使用しています。Stack Overflow の別の応答から以下の構文を使用しましたが、まだ機能していません。

UPDATE OS
SET OS.osTNR = TNRs.TNR
FROM OS INNER JOIN TNRs
ON OS.osTerm = TNRs.thesaurusTerm;

実行する前に、このクエリで「FROM」を想定していないことが強調表示されます。実行すると、次のようになります。

エラー コード: 1064。SQL 構文にエラーがあります。3行目の「FROM OS INNER JOIN TNRs ON OS.osTerm = TNRs.thesaurusTerm」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

4

3 に答える 3

2

このクエリを試してください -

UPDATE OS
INNER JOIN TNRs
  ON OS.osTerm = TNRs.thesaurusTerm
SET
  OS.osTNR = TNRs.TNR;
于 2013-02-07T15:33:09.350 に答える
2

試す :

UPDATE OS 
INNER JOIN TNRs ON OS.osTerm = TNRs.thesaurusTerm
SET OS.osTNR = TNRs.TNR;
于 2013-02-07T15:33:23.543 に答える
0

これを試して、

UPDATE OS, TNRs
SET OS.osTNR = TNRs.TNR
WHERE OS.osTerm = TNRs.thesaurusTerm;

それは間違いなくうまくいくでしょう。OSとはテーブルTNRs名です。

于 2013-02-07T15:35:23.680 に答える