sql >> Database >  >> RDS >> Mysql

Waarom zou ONLY_FULL_GROUP_BY niet moeten worden uitgeschakeld

Zonder de striktheid die ONLY_FULL_GROUP_BY afdwingt, kunt u:

  • niet beseffend dat je de verkeerde vraag hebt;
  • een aantal kolommen krijgen die geen specifieke betekenis hebben;
  • de resultaten die u krijgt, zijn mogelijk niet de resultaten die op een andere server verschijnen, of bij de volgende upgrade, of wanneer het queryplan verandert (toegevoegde/verwijderde/bijgewerkte gegevens).

Dus luister naar ONLY_FULL_GROUP_BY . Het is een sterke waarschuwing dat uw zoekopdracht niet juist is. De fout zegt simpelweg uw GROUP BY clausule is incompatibel met de set resultaten die wordt geretourneerd. Andere databases dwingen het standaard af, en de gebruikers schrijven daardoor betere SQL.

Waarschuwingen negeren is als webontwikkelaars die chmod a+rwx omdat ze de bestandspermissies niet kunnen achterhalen. Neem de tijd om de omgeving waarin u werkt te begrijpen en u zult beter af zijn voor de ervaring. En dat geldt ook voor de volgende persoon, mogelijk je toekomstige zelf, die naar de SQL kijkt.




  1. Wat is de canonieke manier om een ​​record uit een MySQL-database te halen met een minst/grootst veld?

  2. Een kolom uitsluiten met SELECT * [behalve columnA] FROM tableA?

  3. Maximale grootte van een varchar(max) variabele

  4. mysql traag bij eerste zoekopdracht, dan snel voor gerelateerde vragen