Sql mode=only full group by: Porovnání verzí

Z Znalosti
m
m
 
(Není zobrazena jedna mezilehlá verze od stejného uživatele.)
Řádek 18: Řádek 18:
 
Chyba není v modulu Bratranci, ale v nastavení ''mysql''! Nastavení se změnilo pravděpodobně po aktualizaci mysql při normální aktualizaci Ubuntu.
 
Chyba není v modulu Bratranci, ale v nastavení ''mysql''! Nastavení se změnilo pravděpodobně po aktualizaci mysql při normální aktualizaci Ubuntu.
  
Řešení jsem nalezl v [http://stackoverflow.com/questions/23921117/disable-only-full-group-by Disable ONLY_FULL_GROUP_BY]:
+
'''Řešení''' jsem nalezl v [http://stackoverflow.com/questions/23921117/disable-only-full-group-by Disable ONLY_FULL_GROUP_BY]:
  
 
If you want to disable '''permanently''' error sql_mode=only_full_group_by '''do those steps''':
 
If you want to disable '''permanently''' error sql_mode=only_full_group_by '''do those steps''':
Řádek 25: Řádek 25:
 
Add this to the end of the file
 
Add this to the end of the file
 
  [mysqld]
 
  [mysqld]
  sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
+
  sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
 
+
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
 +
A potom
 
  sudo service mysql restart
 
  sudo service mysql restart
  
 
This will disable ONLY_FULL_GROUP_BY for ALL users
 
This will disable ONLY_FULL_GROUP_BY for ALL users

Aktuální verze z 23. 7. 2016, 08:39

U všech webů localhost/webtrees se v mnoha případech přestal zobrazovat postranní panel na stránce osoby. Platilo to v případě, kdy byl aktivní přídavný modul Vytux_cousins (Bratranci).

V deníku chyb byla chybová zpráva:

/var/www/Projekty/webtrees-1.7/app/Statement.php:82 SQLSTATE[42000]: Syntax error or access violation: 1055
Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'webtrees-
.7.1.wt_name.n_givn' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by
#0 /app/Statement.php:82 PDOException("SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3
of SELECT list is not in GROUP BY clause and contains nonaggregated column 'webtrees-1.7.1.wt_name.n_givn'
which is not functionally dependent on columns in GROUP BY clause; this is incompatible with
ql_mode=only_full_group_by")
#1 /modules_v3/vytux_cousins/module.php:148 execute([array])
#2 /individual.php:227 getTabContent()

Chyba není v modulu Bratranci, ale v nastavení mysql! Nastavení se změnilo pravděpodobně po aktualizaci mysql při normální aktualizaci Ubuntu.

Řešení jsem nalezl v Disable ONLY_FULL_GROUP_BY:

If you want to disable permanently error sql_mode=only_full_group_by do those steps:

sudo nano /etc/mysql/my.cnf

Add this to the end of the file

[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

A potom

sudo service mysql restart

This will disable ONLY_FULL_GROUP_BY for ALL users