sql >> Databasteknik >  >> RDS >> Mysql

Inkompatibilitet med Mysql 5.7 (Uttryck #1 i ORDER BY-satsen finns inte i SELECT-listan)

Jag har hittat svaret på min fråga. Egentligen innehåller mysql 5.7 'ONLY_FULL_GROUP_BY ' i sql-läge. Så vi kan inte utföra orderby i elementet som inte finns i select list. vi måste ändra det från

'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 i

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

Vi kan göra detta genom att utföra följande frågor

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. PostgreSQL och QSqlQuery.bindValue() är långsamma

  2. Det går inte att använda None (NULL)-värden i python mysql.connector i förberedd INSERT-sats

  3. SQL-fråga med avg och grupp efter

  4. Hämtar radantal och returnerar 0 när inga rader