Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:sql_mode dauerhaft setzen

MySQL sql_mode "TRADITIONAL" , auch bekannt als "strikter Modus", wird durch die MySQL-Dokumentation definiert als:

So stellen Sie sicher, dass Ihr sql_mode auf "TRADITIONAL" eingestellt ist .

Überprüfen Sie zuerst Ihre aktuelle Einstellung:

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

Dies hat leer zurückgegeben, die Standardeinstellung, das ist schlecht:Ihr sql_mode ist nicht auf "TRADITIONAL" gesetzt.

Bearbeiten Sie also die Konfigurationsdatei:

sudo vim /etc/mysql/my.cnf

Fügen Sie diese Zeile in den Abschnitt mit der Bezeichnung [mysqld] ein :sql_mode="TRADITIONAL" (wie fancyPants betonte)

Starten Sie dann den Server neu:

sudo service mysql restart

Überprüfen Sie dann erneut:

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)

Erfolg! Du bist jetzt golden.