Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como adicionar uma opção ao sql_mode no MySQL sem perder as configurações existentes


Aqui está uma maneira rápida de adicionar uma opção ao seu sql_mode sem limpar todas as opções existentes.

Suponha que queremos adicionar PIPES_AS_CONCAT para nosso sql_mode existente .

Poderíamos fazer isso:
SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));

Isso anexa PIPES_AS_CONCAT sem limpar nossas configurações existentes.

Exemplo


Só para ficar claro, aqui está o que meu sql_mode parece antes executando o código acima:
SELECT @@sql_mode;

Resultado:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Podemos ver que PIPES_AS_CONCAT está longe de ser encontrado.

Agora vamos adicionar PIPES_AS_CONCAT para nosso sql_mode e depois novamente:
SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));
SELECT @@sql_mode;

Resultado:
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

Agora foi adicionado. Mas o mais importante, nenhuma das outras opções foi perdida.