mysql 语法更新记录基于相同的其他记录table

mysql syntax update record based on other record same table

如何在 mysql 上创建 sql 语法, 当我想根据同一 table 上另一条记录的 id 更新 parent_id 时,在特定列字段上具有相同的值,示例字段代码

我试着做了以下

update product_class t1
set t1.parent_id = t2.id
WHERE t1.family_code <>'' and t1.class_code = ''
join product_class t2
on 
(t1.segment_code = t2.segment_code)

但给我错误

这是 table 结构:

正确的语法如下:

update product_class t1 join
       product_class t2
       on t1.segment_code = t2.segment_code
    set t1.parent_id = t2.id
    where t1.family_code <> '' and t1.class_code = '';

join 是 MySQL 中 update 子句的一部分。

注意:查询看起来不正确。您正在对看起来像非唯一列的内容进行自联接,这将生成大量匹配项。然后将任意匹配行用于 update.