Wyłącz tryb SQL ONLY_FULL_GROUP_BY

    
      Na nowszych serwerach MySQL 5.7 i 8.0 ustawiony jest tryb SQL ONLY_FULL_GROUP_BY, NO_ZERO_DATE, NO_ZERO_IN_DATE. W tych wersjach MySQL jest to ustawienie domyślne, które jest wspólne dla całego serwera i nie może być zmieniane dla poszczególnych klientów. Jeśli chcesz zmienić określony tryb dla swojej strony internetowej, musisz to ustawić zawsze na początku połączenia z bazą danych (tak jak np. Ustawienie zestawu znaków do komunikacji z bazą danych). Użyj zapytania SET SQL i polecenia mysqli_query (), aby ustawić zachowanie serwera. Polecenie to najlepiej wstawić do skryptu, w którym aplikacja łączy się z bazą danych - w przykładzie połączenie nawiązywane jest poleceniem PHP mysqli_connect () i wyłącza ONLY_FULL_GROUP_BY:  


  • $connect = mysqli_connect( "server", "login", "heslo", "databaze" );
    mysqli_query($connect, "SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))" );