• MySQL 5.7 poprawki niekompatybilności z 5.6 i 5.5

    dodany przez Przemysław Sikora

    Jeśli widzicie w logach komunikaty podobne do tych poniżej, to oznacza że używacie pewnie MySQL 5.7 z bazą danych pochodzącą ze starszej wersji. Miałem ostatnio taki przypadek. Objawem była biała strona kategorii jednego ze sklepów.
    SQLSTATE[HY000]: General error: 3065 Expression #1 of ORDER BY clause is not in SELECT list, references column 'sklep.products_translations.order' which is not in SELECT list; this is incompatible with DISTINCT;
    lub
    SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sklep.tblannouncements.date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    Aby temu zaradzić należy dodać do configa MySQL-a, Percony lub MariaDB następujący wpis.
    sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    Na koniec oczywiście restartujemy usługę serwera bazy danych.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony