Existem 2 maneiras de fazer isso.
- Para a sessão atual do Mysql (solução temporária)
Primeiro execute a consulta para obter o modo SQL atual do seu servidor mysql.
mysql> SELECT @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------+
|STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
Se o resultado contiver
STRICT_TRANS_TABLES
, você deve remover esse valor para permitir que a consulta de inserção passe o valor NULL. Certifique-se de que seu usuário mysql tenha privilégios para aplicar essas alterações e reinicie o Mysql Server após aplicar isso. SET GLOBAL sql_mode = '';
- Por toda a vida útil do Mysql (solução permanente)
Você precisa atualizar o arquivo my.cnf. A localização desse arquivo é:\etc\my.cnf ou \etc\mysql\mysql.cnf
Haverá alguns parâmetros padrão definidos em [mysqld] como
[mysqld]
innodb_file_per_table=1
default-storage-engine=MyISAM
performance-schema=0
max_allowed_packet=268435456
open_files_limit=10000
Basta adicionar uma linha abaixo disso
sql-mode=""
Certifique-se de reiniciar o Mysql Server depois de alterar este arquivo. Normalmente, o usuário root será o proprietário do arquivo, então você deve fazer o login com o usuário root no servidor.
Para obter mais detalhes para entender o que esse modo SQL faz.
STRICT_TRANS_TABLES
Ative o modo SQL estrito para mecanismos de armazenamento transacionais e, quando possível, para mecanismos de armazenamento não transacionais. Para obter detalhes, consulte Modo SQL estrito.
Consulte:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_strict_trans_tables
NO_AUTO_CREATE_USER
Impedir que a instrução GRANT crie automaticamente novas contas de usuário se isso ocorrer de outra forma, a menos que as informações de autenticação sejam especificadas. A instrução deve especificar uma senha não vazia usando IDENTIFIED BY ou um plug-in de autenticação usando IDENTIFIED WITH.
Consulte:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_create_user
NO_ENGINE_SUBSTITUTION
Controle a substituição automática do mecanismo de armazenamento padrão quando uma instrução como CREATE TABLE ou ALTER TABLE especifica um mecanismo de armazenamento que está desabilitado ou não compilado.
Consulte:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_engine_substitution