http://froogle.google.com/froogle?q=%22SQL+for+Smarties%22&btnG=Froogle+Sear ch Chaps 28 & 29. (ok, I had to read both but it sounds like you already understand the concepts.) The end of chap 29 he gives a simple example for maintaining what you are talking about. I used it to write a dynamic menu system for a web portal for a client. It is possible to do and not terribly difficult. Given the lack of stored procedures you do end up executing 8-10 sql commands one after the other but if you are using a transaction safe table type (*COUGH*InnoDB*COUGH*) then it works pretty good. Unlike one of the suggestions I read here, this system doesn't like holes in the numbers. But he gives code for adding and subtracting nodes. By combining the two, I actually made it so the client could move entire branches. HTH, =C= * * Cal Evans * The Virtual CIO * http://www.calevans.com * -----Original Message----- From: José Moreira [mailto:jmoreira@e-terno.net] Sent: Thursday, December 19, 2002 10:45 AM To: Php-Db (Correio electrónico) Subject: trees in MySQL hello im implementing a portal and im choosing between the 'Nested Set' and 'Adjacency Lists tree' models. <http://users.starpower.net/rjhalljr/Serve/MySQL/traer.html> im perfectly aware of the 'Adjacency Lists tree' model how-to and I am studying the 'Nested Set', example follows : CREATE TABLE LanguageTree ( Language VARCHAR(255) PRIMARY KEY , Parent VARCHAR(255) , Lft LONG , Rgt LONG , INDEX idxLft (Lft) , INDEX idxRgt (Rgt) ) Comment = "Related languages"; A[1 12] / \ / \ B[2 3] C[4 11] / \ / \ D[5 8] F[9 10] | E[6 7] my doubt is that if i want to insert a new node, for example 'G' under 'A' A[1 12] / | \ / \ B[2 3] G[] C[4 11] / \ / \ D[5 8] F[9 10] | E[6 7] i have? to update almost every left,righ fields after that node, resulting in a website performance downgrade .... help? even if thjats the only way, how can i do it? perhaps im getting it wrong ... best regards José Moreira TEGOPI S.A. http://www.tegopi.pt -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php