Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :Définir sql_mode de manière permanente

MySQL sql_mode "TRADITIONAL" , alias "mode strict", est défini par la documentation MySQL comme :

Voici comment vous assurer que votre sql_mode est défini sur "TRADITIONAL" .

Tout d'abord, vérifiez votre paramètre actuel :

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

Cela a renvoyé un blanc, la valeur par défaut, c'est mauvais :votre sql_mode n'est pas défini sur "TRADITIONNEL".

Modifiez donc le fichier de configuration :

sudo vim /etc/mysql/my.cnf

Ajoutez cette ligne dans la section intitulée [mysqld] :sql_mode="TRADITIONAL" (comme l'a souligné fancyPants)

Puis redémarrez le serveur :

sudo service mysql restart

Ensuite, vérifiez à nouveau :

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)

Succès! Vous êtes doré maintenant.