sql >> Base de Datos >  >> RDS >> Mysql

Cómo insertar datos en el modelo de conjunto anidado (MySQL);

Asumo por sus etiquetas y título que está buscando una solución que funcione con MySQL .

Sí, tiene razón en que, a menos que sepa la cantidad de elementos por adelantado, el valor de right debe calcularse dinámicamente. Hay dos enfoques que puede utilizar:

  • Puede comenzar con el valor mínimo que funcione (2 en este caso) y aumentarlo más adelante según sea necesario.
  • Podría hacer una conjetura como 10000000 y esperar que sea suficiente, pero debe estar preparado para la posibilidad de que no sea suficiente y deba ajustarse nuevamente más adelante.

En ambos casos, debe implementar que el left y right Es posible que sea necesario ajustar los valores de varias filas al insertar nuevas filas, pero en el segundo caso, solo necesita realizar las actualizaciones si sus conjeturas fueron incorrectas. Entonces, la segunda solución es más compleja, pero puede brindar un mejor rendimiento.

Tenga en cuenta que de las cuatro formas comunes de almacenar datos jerárquicos, el enfoque de conjuntos anidados es el más difícil. para realizar inserciones y actualizaciones. Consulte la diapositiva 69 de Modelos para datos jerárquicos de Bill Karwin. .