MySQL a MariaDB - Różne działanie tego samego zapytania

MySQL a MariaDB - Różne działanie tego samego zapytania
titako
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 264
0

Witam
Mam przykładowe zapytanko :

Kopiuj
SELECT @p:=idNM as idNMW FROM (SELECT * FROM material ORDER BY idM DESC) t JOIN (SELECT @p:=386) tmp WHERE idM=@p;

Na tym samym zbiorze danych :

  • na serwerze z MySQL działa - oddaje kilka wierszy wyniku.
  • na serwerze z MariaDB działa inaczej :/ - oddaje tylko ostatni wiersz wyniku.
    Coś da się z tym zrobić ?
Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

A co chcesz osiągnąć?

titako
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 264
0

Chyba najłatwiej będzie jak wskaże skąd to wziąłem :)
Wielokrotny select - rekurencja ?...

titako
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 264
0

Hmmmm
Pokombinowałem i wysmyczyłem takie "cóś" :

Kopiuj
DELIMITER //
CREATE PROCEDURE `showidNMW`(
	IN `idstart` INT 
)
BEGIN
	DROP TEMPORARY TABLE IF EXISTS temptab; CREATE TEMPORARY TABLE temptab ( idNMW INT UNSIGNED );
	SET @stopp = idstart;
	WHILE  @stopp > 0 DO 
		SET @stopp:= (SELECT @stopp:=idNM FROM material WHERE idM=@stopp);
		INSERT INTO temptab (idNMW) value (@stopp);
	END WHILE;
SELECT idNMW FROM temptab;
DROP TEMPORARY TABLE temptab;
END//
DELIMITER ;

Chciałem uniknąć definiowania procedur no ale ta przynajmniej działa :).
Lecz jeśli by ktoś miał pomysł podobny do poprzedniej wersji który działa i na MySQL i na MariaDB to poproszę :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.