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

MySQL:Configurando sql_mode permanentemente


MySQL sql_mode "TRADITIONAL" , também conhecido como "modo estrito", é definido pelos dos documentos do MySQL como:

Veja como garantir que seu sql_mode esteja definido como "TRADITIONAL" .

Primeiro, verifique sua configuração atual:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

Isso retornou em branco, o padrão, isso é ruim:seu sql_mode não está definido como "TRADITIONAL".

Então edite o arquivo de configuração:
sudo vim /etc/mysql/my.cnf

Adicione esta linha na seção chamada [mysqld] :sql_mode="TRADITIONAL" (como fancyPants apontou)

Em seguida, reinicie o servidor:
sudo service mysql restart

Em seguida, verifique novamente:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode                                                                                                                                    |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Sucesso! Você é de ouro agora.