sql >> Database teknologi >  >> RDS >> Mysql

PHP/MySQL:Hent en enkelt sti i Adjacency List-modellen

Nej, i hvert fald ikke i MySQL. Det er en af ​​de største begrænsninger ved Adjacency List Model .

Du kan fortsætte med at deltage selv et begrænset antal gange, men det er grimt, akavet og dækker ikke ubegrænset afd. Du kan også downloade alle data i din applikation, bygge et træ og finde stien i applikationen.

Nogle DBMS'er, såsom SQL Server 2005, Postgres 8.4 og Oracle 11g, understøtter rekursive forespørgsler ved hjælp af almindelige tabeludtryk med WITH søgeord. Denne funktion gør det nemt at skrive forespørgsler som denne, men desværre understøtter MySQL ikke rekursive forespørgsler endnu.

Du kan måske være interesseret i at tjekke følgende artikel, som beskriver en alternativ model (den indlejrede sæt-model a> ), som gør rekursive operationer nemmere (mulige) i MySQL:

Derudover foreslår jeg også at tjekke følgende præsentation af @Bill Karwin , en regelmæssig bidragyder på Stack Overflow:

Lukningstabelmodellen beskrevet i præsentationen er et meget gyldigt alternativ til det indlejrede sæt. Han beskriver denne model mere detaljeret i hans SQL Antipatterns bog (uddrag fra kapitlet om dette emne ).



  1. Tabelnavn angivet to gange både som mål for opdatering og separat kilde til data

  2. Udskrivning af en tabel vandret i stedet for lodret ved hjælp af PHP

  3. #1062 - Dublet indtastning for nøgle 'PRIMÆR'

  4. Hvordan løser man tvetydige kolonnenavne, når man henter resultater?