1

我正在使用 MySQL 工作台尝试从数据库中的现有表 (TNR) 中向现有表 (OS) 中的新列 (osTNR) 添加值。我从 Stack Overflow 上的另一个响应中获取了以下语法,但它仍然无法正常工作。

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

在我运行它之前,它会突出显示它不期望在此查询中出现“FROM”。当我运行它时,我得到:

错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 3 行的“FROM OS INNER JOIN TNRs ON OS.osTerm = TNRs.thesaurusTerm”附近使用

4

3 回答 3

2

Try this query -

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

Try :

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;

它肯定会奏效。这里OSTNRs是表名。

于 2013-02-07T15:35:23.680 回答