Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL 5.1 do 5.7 zmienia kolejność, aby już nie działa

Wystąpił problem z twoim sql_mode .

Od MySQL 5.7.x domyślny tryb sql obejmuje ONLY_FULL_GROUP_BY . (Przed 5.7.5 MySQL nie wykrywał zależności funkcjonalnych, a ONLY_FULL_GROUP_BY nie jest domyślnie włączone).

ONLY_FULL_GROUP_BY :Niedeterministyczne zapytania grupujące zostaną odrzucone

Więcej informacji znajdziesz w dokumentacji sql_mode

Metoda 1:

Sprawdź domyślną wartość sql_mode:

SELECT @@sql_mode

Usuń ONLY_FULL_GROUP_BY z konsoli, wykonując poniższe zapytanie:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Metoda 2:

Uzyskaj dostęp do phpmyadmina, aby edytować swój sql_mode

  • Zaloguj się na phpmyadmin i otwórz localhost
  • Najlepsze zmienne prezentuj na górze w pozycjach menu i wyszukaj tryb sql
  • Kliknij przycisk edycji, aby usunąć ONLY_FULL_GROUP_BY i zapisz



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd zapytania MySQL z CASE i INNER JOIN

  2. Wyświetlaj numer identyfikacyjny w adresie URL i pobieraj wyniki bazy danych z numeru identyfikacyjnego do pól tekstowych

  3. SQL ANY &ALL Operatory

  4. Zmień format daty w tabeli bazy danych mySql

  5. Uprawnienia definiujące widok MySQL i błąd 1356