MySql Administrator Parte 12

Dando continuidade ao artigo anterior SQL Mode.

MySql Administrator Parte 12

 

Dando continuidade ao artigo anterior SQL Mode, que faz parte da aba Advanced do menu Startup variables, vou descrever cada opção do SQL Mode:

 

ALLOW_INVALID_DATES – A grosso modo podemos dizer que esta opção faz com que o MySql permita a inserção de datas inválidas, mas não é bem assim, esta opção faz com que o MySql verifique apenas o dia e o  mês data, ou seja, se o dia está entre 1 e 31 e se o mês está entre 1 e 12. Este modo é aplicado apenas às colunas dos tipos date e datetime não se aplica à coluna do tipo timestamp.

 

ANSI_QUOTES -  Esta opção faz com que o MySql passe a tratar aspas dupla (“) como o caracter “`” (acento agudo). Isso faz com que as aspas duplas não seja consideradas para delimitar literais ou strings.

 

ERROR_FOR_DIVISION_BY_ZERO - Com esta opção o MySql retorna um erro (quando em modo restrito) ou um aviso quando houver u8ma divisão por zero ou quando o uso da função MOD tiver o segundo parâmetro como zero durante um INSERT ou um UPDATE, caso esta opção não esteja habilitada, o MySql retorna NULL.

 

HIGH_NOT_PRECEDENCE -  Esta opção foi colocada por questão de compatibilidade com versões anteriores e que dizer que o operador NOT tem ou não precedência, ou seja quando tenho a expressão NOT a BETWEEN b AND c o MySql interpreta a expressão assim: NOT (a BETWEEN b AND c). Em algumas versões anteriores o MySql interpreta a expressão assim: (NOT a) BETWEEN b AND c. Então sem esta opção ativada quando faço um “SELECT NOT 1 BETWEEN -5 AND 5;” o resultado é 0, quando ativo esta opção o resultado é 1.

 

IGNORE_SPACE – Esta opção faz com que o MySql permita um espaço entre a função e o parêntese da função. Quando executo o comando “ SELECT count (*) from <<tabela>> “ sem esta opção o MySql retorna um erro, com esta opção ativada o MySql retorna o resultado.

 

NO_AUTO_CREATE_USER – Esta opção faz com que o comando GRANT não crie um usuário automaticamente, a menos que seja especificada uma senha junto ao comando.

 

NO_AUTO_VALUE_ON_ZERO – O NO_AUTO_VALUE_ON_ZERO afeta o tratamento de colunas AUTO_INCREMENT. Normalmente, você gera a próxima seqüência do número da coluna inserindo 0 ou NULL. NO_AUTO_VALUE_ON_ZERO desabilita esse comportamento fazendo com que apenas NULL gere a próxima seqüência. Este modo pode ser útil se 0 foi armazenado em uma coluna AUTO_INCREMENT da tabela. (Esta não é uma prática recomendada.). Por exemplo, se você faz um dump da tabela com mysqldump e então restaura este dump, o MySQL normalmente gera nova seqüência de números quando encontra os valores 0, resultando em uma tabela com um conteúdo diferente do que foi realizado com o dump. A ativação do NO_AUTO_VALUE_ON_ZERO antes de recarregar o arquivo dump soluciona este problema. O mysqldump inclui automaticamente na sua saída um mapa que permite NO_AUTO_VALUE_ON_ZERO, para evitar esse problema

 

NO_BACKSLASH_ESCAPES – Esta opção desabilita o caracter “\” (barra) como caracter de escape, passando este a ser um caracter comum.

 

NO_DIR_IN_CREATE – Com esta opção habilitada o MySql ignora as diretivas INDEX DIRECTORY e DATA DIRECTORY. Esta opção é usada para replicação de servidores.

 

NO_ENGINE_SUBSTITUTION – Esta opção quando controla automaticamente o mecanismo de armazenamento padrão (MyIsam ou InnoDb)quando criamos uma tabela ou alteramos uma tabela.

 

NO_FIELD_OPTIONS -  Esta opção faz com que o MySql não mostre opções específicas de colunas na apresentação da estrutura da tabela através do comando SHOW CREATE TABLE.

 

NO_KEY_OPTIONS - Esta opção faz com que o MySql não mostre opções específicas de índices na apresentação da estrutura da tabela através do comando SHOW CREATE TABLE.

 

NO_TABLE_OPTIONS - Esta opção faz com que o MySql não mostre opções específicas da tabela na apresentação de sua estrutura através do comando SHOW CREATE TABLE.

 

NO_UNSIGNED_SUBTRACTION - Esta opção faz com que em uma operação de subtração entre inteiros o resultado não fique sem sinal (+-) mesmo que um dos operadores seja definido como  sem sinal (UNSIGNED). Em outras palavras, o resultado da operação é sempre com sinal (SIGNED).

 

NO_ZERO_DATE – Esta opção faz com que o MySql não aceite datas com zeros '0000-00-00'  quando configurado com modo restrito. Você poderá inserir datas com zeros com a opção IGNORE. No modo não restrito você poderá inserir datas com zeros mas será gerada uma advertência.

 

ONLY_FULL_GROUP_BY – Esta opção faz com que o MySql não permita consultas (SELECT) com a cláusula GROUP BY  sem que todas as colunas estejam especificadas nesta cláusula. Exceto as colunas com funções de agregação.

 

PIPES_AS_CONCAT - Esta opção faz com que o MySql aceite os sinais || (pipes) para concatenar strings como a função CONCAT().

 

REAL_AS_FLOAT - Esta opção faz com que o MySql “trate” o tipo Real como Float, por padrão o MySql “trata” o tipo Real como Double.

 

 

 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados