Här är ett snabbt sätt att lägga till ett alternativ till ditt sql_mode utan att radera alla befintliga alternativ.
Anta att vi vill lägga till PIPES_AS_CONCAT till vårt befintliga sql_mode .
Vi skulle kunna göra detta:
SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));
Det lägger till PIPES_AS_CONCAT utan att torka våra befintliga inställningar.
Exempel
Bara för att vara tydlig, här är vad mitt sql_mode ser ut som före kör ovanstående kod:
SELECT @@sql_mode; Resultat:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
Vi kan se den PIPES_AS_CONCAT finns ingenstans.
Låt oss nu lägga till PIPES_AS_CONCAT till vårt sql_mode och sedan igen:
SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));
SELECT @@sql_mode; Resultat:
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
Den har nu lagts till. Men viktigast av allt, inget av de andra alternativen har gått förlorade.