Просто ви липсва свързващ WHERE
клауза:
UPDATE catalog_category c
SET leaf_category = true
FROM catalog_category c1
LEFT JOIN catalog_category c2 ON c1.id = c2.parent_id
WHERE c.id = c1.id
AND c2.parent_id IS NULL;
Този формуляр с NOT EXISTS
вероятно е по-бърз, като прави същото:
UPDATE catalog_category c
SET leaf_category = true
WHERE NOT EXISTS (
SELECT FROM catalog_category c1
WHERE c1.parent_id = c.id
);
Свързани: