Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiungere un'opzione a sql_mode in MySQL senza perdere le impostazioni esistenti

Ecco un modo rapido per aggiungere un'opzione al tuo sql_mode senza cancellare tutte le opzioni esistenti.

Supponiamo di voler aggiungere PIPES_AS_CONCAT al nostro sql_mode esistente .

Potremmo farlo:

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

Questo aggiunge PIPES_AS_CONCAT senza cancellare le nostre impostazioni esistenti.

Esempio

Giusto per essere chiari, ecco qual è il mio sql_mode sembra prima eseguendo il codice sopra:

SELECT @@sql_mode;

Risultato:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Possiamo vedere che PIPES_AS_CONCAT non si trova da nessuna parte.

Ora aggiungiamo PIPES_AS_CONCAT al nostro sql_mode e poi ancora:

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

Risultato:

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

Ora è stato aggiunto. Ma soprattutto, nessuna delle altre opzioni è andata persa.