sql >> Databasteknik >  >> RDS >> Mysql

Rekursiv MySQL-fråga?

MySQL stöder inte rekursiva frågor.

Jag skulle föreslå att du tittar på Bill Karwins presentation där han jämför fyra olika modeller för att lagra arvsdata och tittar på deras för- och nackdelar:

  • Angränsningslista
  • Sökvägsuppräkning
  • Inkapslade uppsättningar
  • Stängningstabell

Bild 48 visar den relativa svårigheten för vissa typer av frågor med var och en av modellerna. Från din fråga låter det som att du är mest intresserad av "Query subtree", för vilken grannlistan (den modell du använder för närvarande) presterar sämst av de fyra.

Alternativt om du bara vill välja hela trädet, som i all data i tabellen, kan du använda den enkla frågan SELECT * FROM yourtable och rekonstruera trädstrukturen i klienten.



  1. Tillämpa kolumnbehörigheter för en tabell över en utlösare

  2. Hur räknar man antalet förekomster av en karaktär i ett Oracle-varchar-värde?

  3. Hur ansluter jag till mysql med laravel?

  4. MySQL Du använder säkert uppdateringsläge och du försökte uppdatera en tabell utan en WHERE