我正在尝试使用以下SQL:
UPDATE `vocabulary`
SET `wordEN` = `wordES`
WHERE `vocabulary`.`lessonID` = `lessons`.`id`
AND `lessons`.`courseID` = 2
但是我收到以下错误:
1054 - 'where子句'
中的未知栏'lessons.id'
有没有在MYSQL中这样做?也许在查询中有查询或什么?
答案 0 :(得分:2)
我猜你想要update
加join
。这可能是您要查找的查询:
UPDATE vocabulary v join
lessons l
on v.lessonID = l.id and
l.courseID = 2
SET v.wordEN = v.wordES;
编辑:
这也可能有效:
UPDATE vocabulary v
SET v.wordEN = v.wordES
where v.lessonId in (select id from lessons l where l.courseID = 2);