我正在尝试使用以下SQL:
UPDATE `vocabulary`
SET `wordEN` = `wordES`
WHERE `vocabulary`.`lessonID` = `lessons`.`id`
AND `lessons`.`courseID` = 2
但我收到以下错误:
1054-“ where子句”中的未知列“ lessons.id”
无论如何,在MYSQL中可以执行此操作吗?也许在查询中有查询或其他东西?
最佳答案
我猜想您要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);