sql >> Database >  >> RDS >> Mysql

Incompatibiliteit met Mysql 5.7 (Expressie #1 van ORDER BY-clausule staat niet in SELECT-lijst)

Ik heb het antwoord op mijn vraag gevonden. In feite bevat mysql 5.7 'ONLY_FULL_GROUP_BY ' in sql-modus. We kunnen dus geen orderby uitvoeren in het element dat niet in de selectielijst staat. We moeten dit wijzigen van

'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' 

in

'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

We kunnen dit doen door de volgende vragen uit te voeren

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'


  1. Prehistorische en moderne benadering van het ontwerpen van databases

  2. Berekening van het gespeelde percentage de volgende dag

  3. SQL Reguliere expressie om een ​​kolom (tekenreeks) te splitsen in meerdere rijen op basis van scheidingsteken '/n'

  4. Een wildcard gebruiken in een update?