:: DEVELOPER ZONE
Se você inicializa o mysqld com a opção --ansi ou
--sql-mode=ANSI, o seguinte comportamento é alterado no MySQL:
|| é um oprador de concatenação de strings em vez de um sinônimo
para OR.
'"' é tratado como um caracter identificados (com o caracter de aspasr
'`' do MySQL Server)e não um caracter de string. Você ainda pode usar
'`' para citar identificadores no modo ANSI. Uma implicação disto é
que você não pode usar aspas duplas para citar um string literal, porque
ela será intepretada como um identificador.
Você pode ter qualquer número de espaços entre um nome de função e o '('.
Isto faz com que todos nomes de funções sejam tratadas como palavras reservadas.
Como resultado, se você quiser acessar qualquer banco de dados, tabelas ou
coluna que é uma palavra reservada, você deve colocá-lo entre aspas. Por
exemplo, por haver a função USER(), o nome da tabela user
no banco de dados mysql e a coluna User nesta tabela se torna
reservada, assim você deve colocá-la entre aspas:
SELECT "User" FROM mysql."user";
REAL é um sinônimo para FLOAT no lugar de um sinônimo de
DOUBLE.
O nível de isolamento padrão de um transação é SERIALIZABLE.
See Secção 6.7.6, “Sintaxe SET TRANSACTION”.
Você pode usar um campo/expressão em GROUP BY que não está na lista de
campos.
Executando o servidor em modo ANSI é o mesmo que iniciá-lo com estas opções:
--sql-mode=REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES, IGNORE_SPACE,ONLY_FULL_GROUP_BY --transaction-isolation=serializable
No MySQL 4.1, você pode conseguir o mesmo efeito com estas duas instruções:
SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET GLOBAL sql_mode= "REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY";
No MySQL 4.1.1 a última opção sql_mode também pode ser dada com:
SET GLOBAL sql_mode="ansi";
No caso acima o sql_mode estará configurado com todas as opções que
são relevantes para o modo ANSI. Você pode verificar o resultado fazendo:
mysql> SET GLOBAL sql_mode="ansi";
mysql> SELECT @@GLOBAL.sql_mode;
-> "REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI"
© 1995-2005 MySQL AB. All rights reserved.
