MySQL: 替换 pano_pano_view 表中的 fenzuid 字段
可以使用以下 SQL 语句实现:
UPDATE pano_pano_view
SET fenzuid = CONCAT(pano_pano_fenzu.parent, '=', pano_pano_fenzu.id, ',group=', pano_pano_fenzu.group, ',sort=0')
FROM pano_pano_fenzu
WHERE pano_pano_view.pano_id = pano_pano_fenzu.pano_id AND pano_pano_view.fenzuid = pano_pano_fenzu.id AND pano_pano_fenzu.parent = 'top';
这个 SQL 语句使用了 UPDATE 语句和 FROM 子句,以及 WHERE 条件。UPDATE 语句用于更新 pano_pano_view 表中的 fenzuid 字段,FROM 子句用于将 pano_pano_view 表和 pano_pano_fenzu 表连接起来,WHERE 条件用于筛选出符合条件的记录。
具体的实现过程如下:
- 选出符合条件的记录
WHERE pano_pano_view.pano_id = pano_pano_fenzu.pano_id AND pano_pano_view.fenzuid = pano_pano_fenzu.id AND pano_pano_fenzu.parent = 'top'
这个条件用于筛选出 pano_pano_view 表中的 fenzuid 字段等于 pano_pano_fenzu 表中的 id 字段,并且 pano_pano_fenzu 表中的 parent 字段等于 'top' 的记录。其中,pano_pano_view 表和 pano_pano_fenzu 表通过 pano_id 字段进行连接。
- 更新 fenzuid 字段
SET fenzuid = CONCAT(pano_pano_fenzu.parent, '=', pano_pano_fenzu.id, ',group=', pano_pano_fenzu.group, ',sort=0')
这个语句用于将 fenzuid 字段更新为符合条件的新值。新值的格式为:parent=id,group=id,sort=0,其中 id 为 pano_pano_fenzu 表中的 id 字段。这个新值使用了 CONCAT 函数进行拼接。
原文地址: https://www.cveoy.top/t/topic/lXV4 著作权归作者所有。请勿转载和采集!