Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP/MySQL:Извличане на един път в модела на списъка на съседство

Не, поне не в MySQL. Това е едно от най-големите ограничения на Модел на списък на съседство .

Можете да продължите да се самоприсъединявате краен брой пъти, но това е грозно, неудобно и не покрива неограничен брой. Можете също да изтеглите всички данни в приложението си, да изградите дърво и да намерите пътя в приложението.

Някои DBMS, като SQL Server 2005, Postgres 8.4 и Oracle 11g, поддържат рекурсивни заявки, използващи общи изрази на таблици с WITH ключова дума. Тази функция позволява заявки като тази да се пишат с лекота, но за съжаление MySQL все още не поддържа рекурсивни заявки.

Може да ви е интересно да разгледате следната статия, която описва алтернативен модел (вложен модел на набор ), което прави рекурсивните операции по-лесни (възможни) в MySQL:

Освен това предлагам да разгледате следната презентация от @Bill Karwin , редовен сътрудник в Stack Overflow:

Моделът на таблицата на затваряне, описан в презентацията, е много валидна алтернатива на вложения набор. Той описва този модел по-подробно в своите SQL Antipatterns книга (откъс от главата по тази тема ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортирането на резултатите от заявката в MySQL Workbench над 1000 записа

  2. PHP Вмъкване на данни от една таблица в друга

  3. MYSQL Inner Свързване на две таблици върху два ключа

  4. Съхранявайте множество реда от mysql база данни в една единствена променлива

  5. Максимален брой колони в MySQL таблицата