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.