Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MariaDb nie obsługuje funkcji ANY_VALUE()

Na dziś rozwiązałeś problem. Ale jutro, gdy uruchomisz to samo zapytanie, otrzymasz inny błąd.

W starszych wersjach MySQL lub MariaDB otrzymasz „dowolną wartość” dla price_available kiedy nie GROUPing BY to. To było w rzeczywistości gdzieś pomiędzy „złą praktyką” a „naruszeniem standardów”. Stosunkowo niedawno MariaDB, a później MySQL, przeszła na „tylko pełne grupowanie według”. W tym czasie ANY_VALUE() powstała dla MySQL, ale najwyraźniej MariaDB upuściła piłkę.

Stare obejście, które powinno być bezpieczne zarówno dla starych, jak i nowych wersji, to użycie MIN(price_available) lub jakaś inna funkcja agregująca. (Jeśli kolumna może mieć NULL , różne agregaty mogą, ale nie muszą obsługiwać NULL tak, jak wolisz).

Zobacz także ONLY_FULL_GROUP_BY ustawienie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Standardowe wywołanie SQL UPSERT

  2. Jak przenieść moją bazę danych MySQL na inny komputer?

  3. jak zamówić odpowiedź JSON na podstawie relacji z bazą danych za pomocą eloquent

  4. PHP $stmt->num_rows nie działa na podstawie przygotowanych instrukcji

  5. Aktualizacja i usuwanie powiązanych modeli (tabele relacyjne) w Yii