considérez une table SQL qui stocke des données hiérarchiques à l'aide de la méthode MPTT (Modified Preorder Tree Traversal). Maintenant, je voudrais mettre à jour toutes les clés étrangères parent_id en même temps. Malheureusement, mes compétences SQL sont vraiment rouillé. Quelqu'un peut-il me signaler un moyen efficace de le faire?Mettez à jour tous les ID parents dans une table SQL mptt
C'est la façon dont je l'ai essayé:
UPDATE node AS main
SET main.parent_id=ss.id
FROM (
SELECT parent.id
FROM node AS parent
WHERE main.lft BETWEEN parent.lft AND parent.rgt
ORDER BY parent.lft DESC) ss;
Malheureusement, cela ne semble pas fonctionner:
ERROR: subquery in FROM cannot refer to other relations of same query level
Merci pour tout conseils. PS: C'est sur PostgreSQL, si c'est important.