Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:impostazione permanente di sql_mode

MySQL sql_mode "TRADITIONAL" , alias "modalità rigorosa", è definito da i documenti MySQL come:

Ecco come assicurarti che sql_mode sia impostato su "TRADITIONAL" .

In primo luogo, controlla l'impostazione corrente:

mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

Questo è tornato vuoto, l'impostazione predefinita, non va bene:il tuo sql_mode non è impostato su "TRADIZIONALE".

Quindi modifica il file di configurazione:

sudo vim /etc/mysql/my.cnf

Aggiungi questa riga nella sezione denominata [mysqld] :sql_mode="TRADITIONAL" (come ha sottolineato fancyPants)

Quindi riavvia il server:

sudo service mysql restart

Quindi controlla di nuovo:

mysql
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode                                                                                                                                    |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Successo! Adesso sei d'oro.