MySQL 데이터베이스에서 연결 목록 가져오기
연결 목록의 데이터베이스 저장에는 고유한 문제가 있습니다. Oracle 또는 Microsoft SQL Server와 같은 다른 RDBMS 솔루션과 달리 MySQL은 연결된 목록 데이터를 직접 가져오는 데 필요한 재귀 쿼리를 지원하지 않습니다.
RDBMS에 트리 구조를 저장하는 것과 유사한 이 문제에 대한 솔루션은 추출을 중심으로 이루어집니다. 데이터베이스에서 연결된 목록을 가져와 클라이언트 측에서 처리합니다. 그러나 이로 인해 특정 깊이에서 또는 행 조건에 따라 쿼리를 종료할 수 있는지에 대한 의문이 제기됩니다.
MySQL에는 내장된 재귀 쿼리 기능이 없지만 다소 번거로운 해결 방법이 있습니다.
<code class="sql">SELECT * FROM mytable t1 LEFT JOIN mytable t2 ON (t1.next_id = t2.id) LEFT JOIN mytable t3 ON (t2.next_id = t3.id) LEFT JOIN mytable t4 ON (t3.next_id = t4.id) LEFT JOIN mytable t5 ON (t4.next_id = t5.id) LEFT JOIN mytable t6 ON (t5.next_id = t6.id) LEFT JOIN mytable t7 ON (t6.next_id = t7.id) LEFT JOIN mytable t8 ON (t7.next_id = t8.id) LEFT JOIN mytable t9 ON (t8.next_id = t9.id) LEFT JOIN mytable t10 ON (t9.next_id = t10.id);</code>
이 쿼리 제한 사항은 성능이 느리고 모든 결과가 단일 행에 반환된다는 것입니다. 그러나 깊이가 제한된 증분으로 연결된 목록 데이터를 가져오는 방법을 제공합니다.
위 내용은 재귀 쿼리 없이 MySQL에서 연결 목록을 어떻게 가져올 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!