我有一个翻译数据库。一个在A语言(langA)中包含单词及其ID的表,一个在B语言(langB)中带有单词和ID的表,以及一个连接这两种语言中的单词的表(翻译),比如idB。
为了通过翻译ID显示翻译,我使用了一个联接表:
SELECT *
FROM langA, langB, translation
WHERE translation.id = 5
AND langA.id = translation.idA
AND langB.id = translation.idB最后两行是因为一个单词可能有一个以上的翻译。
现在,我想通过它的ID来更新特定翻译的信息。似乎更新我刚才选择的内容是最容易的。
我发现了这样的语法
UPDATE langA
SET langA.word = 'newword'
FROM langA, langB, translation
WHERE translation.id = 5
AND langA.id = translation.idA
AND langB.id = translation.idB然而,这给了我一个“在'langA,langB,translation.id =.‘附近翻译”的错误。
我做错了什么?
发布于 2013-09-14 12:40:32
你展示的是给TSQL看的。以下是多表更新上的MySQL语法。
UPDATE langA
INNER JOIN translation
ON langA.id = translation.idA
INNER JOIN langB
ON langB.id = translation.idB
SET langA.word = 'newword'
WHERE translation.id = 5 https://stackoverflow.com/questions/18801829
复制相似问题