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

Comment ajouter une option à sql_mode dans MySQL sans perdre les paramètres existants

Voici un moyen rapide d'ajouter une option à votre sql_mode sans effacer toutes les options existantes.

Supposons que nous voulions ajouter PIPES_AS_CONCAT à notre sql_mode existant .

Nous pourrions faire ceci :

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));

Cela ajoute PIPES_AS_CONCAT sans effacer nos paramètres existants.

Exemple

Juste pour être clair, voici ce que mon sql_mode ressemble avant exécutant le code ci-dessus :

SELECT @@sql_mode;

Résultat :

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Nous pouvons voir que PIPES_AS_CONCAT est introuvable.

Ajoutons maintenant PIPES_AS_CONCAT à notre sql_mode puis encore :

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));
SELECT @@sql_mode;

Résultat :

PIPES_AS_CONCAT,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Il a maintenant été ajouté. Mais surtout, aucune des autres options n'a été perdue.