Mysql 根据不同表中的值更改1表中的值

Mysql 根据不同表中的值更改1表中的值,mysql,Mysql,我不太清楚该怎么问这个问题,但我想把一个群体中的所有人都安排在一个新的群体中 我想这样做 mysql> UPDATE `cla-constituents`.`person_custom` SET `c3` = '6' WHERE `person_per`.`per_cls_id` =7; 但我得到了“错误1054(42S22):‘where子句’中的未知列‘person_per.per_cls_id’” cla components是数据库,person\u custom是表1,c

我不太清楚该怎么问这个问题,但我想把一个群体中的所有人都安排在一个新的群体中

我想这样做

mysql> UPDATE  `cla-constituents`.`person_custom` SET  `c3` =  '6' WHERE `person_per`.`per_cls_id` =7;
但我得到了“错误1054(42S22):‘where子句’中的未知列‘person_per.per_cls_id’”

cla components
是数据库,
person\u custom
是表1,
c3
是目标单元格

我想为所有在
person\u per
表的
person\u id
列中有7的人更改该单元格。同样的分贝


我希望这是有道理的

您可以使用左联接或内联接

UPDATE  `cla-constituents`.`person_custom` 
INNER JOIN person_per ON cla-constituents.id = person_per.id
SET  `c3` =  '6' 
WHERE `person_per`.`per_cls_id` =7;

这里我加入了一个假想的列。您可以使用正确的表。

您的
更新中没有加入这两个表,因此它不知道
person\u per
是什么。您能为每个表发布您的表结构吗?以后,不要在名称中使用迫使程序员引用它们的字符,例如
cla components
中的十个减号。下划线是更好的选择。为什么用左连接而不是内连接?