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

So fügen Sie eine Option zu sql_mode in MySQL hinzu, ohne vorhandene Einstellungen zu verlieren

Hier ist eine schnelle Möglichkeit, Ihrem sql_mode eine Option hinzuzufügen ohne alle vorhandenen Optionen zu löschen.

Angenommen, wir möchten PIPES_AS_CONCAT hinzufügen zu unserem bestehenden sql_mode .

Wir könnten dies tun:

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

Das hängt PIPES_AS_CONCAT an ohne unsere bestehenden Einstellungen zu löschen.

Beispiel

Nur um das klarzustellen, hier ist mein sql_mode sieht aus wie vorher Ausführen des obigen Codes:

SELECT @@sql_mode;

Ergebnis:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Wir können diesen PIPES_AS_CONCAT sehen ist nirgends zu finden.

Jetzt fügen wir PIPES_AS_CONCAT hinzu zu unserem sql_mode und dann nochmal:

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

Ergebnis:

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

Es wurde jetzt hinzugefügt. Aber am wichtigsten ist, dass keine der anderen Optionen verloren gegangen ist.