sql >> Databáze >  >> RDS >> Mysql

Nekompatibilita s Mysql 5.7 (výraz #1 klauzule ORDER BY není v seznamu SELECT)

Našel jsem odpověď na svou otázku. Ve skutečnosti mysql 5.7 obsahuje 'ONLY_FULL_GROUP_BY ' v režimu SQL. Nemůžeme tedy provádět orderby v prvku, který není ve výběrovém seznamu. Musíme to změnit z

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

do

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

Můžeme to provést provedením následujících dotazů

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. Jsou levé vnější spoje a levé spoje stejné?

  2. Jak extrahovat data ze sloupce xml v sql 2008

  3. Jak načíst data z binárního log souboru a vložit je do požadované tabulky v MySQL?

  4. Django migrace stále provádí stejné změny