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

Z Znalosti
m
m
 
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.)
Řádek 4: Řádek 4:
 
V deníku chyb byla chybová zpráva:
 
V deníku chyb byla chybová zpráva:
 
<code>
 
<code>
  /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-1.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
+
  /var/www/Projekty/webtrees-1.7/app/Statement.php:82 SQLSTATE[42000]: Syntax error or access violation: 1055
  #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 sql_mode=only_full_group_by")
+
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])
 
  #1 /modules_v3/vytux_cousins/module.php:148 execute([array])
#2 /individual.php:227 getTabContent()
+
#2 /individual.php:227 getTabContent()
 
</code>
 
</code>
 +
 +
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]:
 +
 +
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

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