Vypnutí SQL módu ONLY_FULL_GROUP_BY

Na novějších MySQL serverech 5.7 a 8.0 je nastaven SQL mód ONLY_FULL_GROUP_BY, NO_ZERO_DATE, NO_ZERO_IN_DATE. V těchto verzích MySQL jde o standardní nastavení, které je sdílené pro celý server a nelze jej měnit pro jednotlivé zákazníky.
 
Pokud potřebujete uvedený mód u vašeho webu změnit, je zapotřebí toto nastavovat vždy na začátku spojení do databáze (stejně jako se nastavuje např. znaková sada pro komunikaci s db).
 
Chování serveru nastavíte pomocí SQL dotazu SET a příkazu mysqli_query(). Tento příkaz vložte nejlépe do skriptu, kde se aplikace připojuje do databáze - v příkladu se připojení provádí PHP příkazem mysqli_connect() a vypíná se ONLY_FULL_GROUP_BY:
 
$spojeni = mysqli_connect( "server", "login", "heslo", "databaze" );
mysqli_query($spojeni, "SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))" );