Disabilitare sql_mode=only_full_group_by in Ubuntu 16.04. <alebal web Blog> | Appunti di PHP, MySql, javascript, Css, HTML, HTML5 e altro...

Con le nuove versioni di mysql in ubuntu 16.04 capita di ritrovarsi questo errore:

<b>Fatal error</b>:  Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'tags_search.id_search' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by in

E se il tuo codice è magari un pò vecchiotto, vuole usare GROUP_BY.

Come se ne esce?

O modifiche tutto il tuo codice o disabiliti sql_mode=only_full_group_by sul tuo server.

Ci sono diversi tutorial online, ma spesso non trovo i file di cui parlano, o sono vuoti o non trovo quello che ci si aspetterebbe dai tutorial.

Il mio file di configurazione di mysql l'ho trovato qui: 

/etc/mysql/mysql.conf.d/mysqld.cnf

L'ho aperto con nano e ho aggiunto questa riga:

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

subito dopo [mysqld].

poi:

sudo service mysql restart

Se tutto è andato bene non dovresti ricevere errori, e ora i GROUP_BY funzionano.

Google Digg Reddit Tumblr Pinterest StumbleUpon Email

Rating: 5 out of 5 by 340 visitors

Leave your comment