Ich speichere verknüpfte Listen von Daten in Datensätzen, die wie folgt aussehen:
CREATE TABLE IF NOT EXISTS `data_nodes` (
`record_id` int(11) NOT NULL,
`prev_node` int(11) NOT NULL,
`data` varchar(200) NOT NULL,
PRIMARY KEY (`record_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
wobei prev_node die record_id des vorherigen Eintrags in der Liste ist, oder 0, wenn wir uns am ersten Eintrag in der Liste befinden.
Eine typische Liste könnte etwa so aussehen:
record_id prev_node data
--------- --------- ----
1 0 first item
12 1 second item
27 12 third item
Ich verwende Rubys mysql-Modul, und was ich tun möchte, ist: die Datensatznummer des letzten Elements in einer Liste gegeben, laden Sie die gesamte Liste in einer einzigen Abfrage. (z. B. gegeben die Datensatz-ID 27, geben Sie eine Ergebnismenge, die "erste Element", "zweite Element", "dritte Element" enthält)
Ist das machbar?
Gracias.