Ich habe eine Tabelle "knowledgemodel" [enter image description here] [1]Mysql Rekursion Abfrage funktioniert nicht auf MariaDB
Meine Suche
SELECT
title, id, @parent:=parent_id as prnt
FROM
(SELECT @parent:=3) a
JOIN
(SELECT * FROM knowledgemodel ORDER BY id DESC) b
where
@WHERE=id
in Mysql Server: 127.0.0.1 über TCP/IP Servertyp: MySQL Serverversion: 5.6.16 - MySQL Community Server (GPL) Protokollversion: 10 Die obige Abfrage funktioniert einwandfrei.
Aber auf MariaDB im immer nur einen Datensatz
Jede Hilfe ??
Ich bin mir nicht sicher, aber verpassen Sie nicht die ON-Anweisung nach dem 'JOIN'? – Marcus
Kein 'ON' benötigt. Dies ist ein 'CROSS JOIN', bei dem die erste Tabelle nur '@ parent' initialisiert. –
Es scheint äußerst ineffizient zu sein, alle Zeilen zu holen, dann nach 'id' zu filtern. Verschieben Sie die 'WHERE ID = @ where' in die zweite Unterabfrage. Dann erkenne, dass du das nicht als Unterabfrage brauchst. –