The most important sql_mode values are probably these:
ANSI
This mode changes syntax and behavior to conform more closely to standard SQL. It is one of the special combination modes listed at the end of this section.
STRICT_TRANS_TABLES
If a value could not be inserted as given into a transactional table, abort the statement. For a nontransactional table, abort the statement if the value occurs in a single-row statement or the first row of a multiple-row statement. More details are given later in this section.
As of MySQL 5.7.5, the default SQL mode includes STRICT_TRANS_TABLES.
TRADITIONAL
Make MySQL behave like a “traditional” SQL database system. A simple description of this mode is“give an error instead of a warning” when inserting an incorrect value into a column. It is one of the special combination modes listed at the end of this section.
SQL Mode: Define o modo em que o Mysql irá “trabalhar”. O MySql pode trabalhar em diferentes modos, que podem ser aplicados para diferentes clientes (estações), isso possibilita que cada estação trabalhe da forma que melhor se adapte a sua necessidade. Estes modos de trabalho definem qual a sintaxe a ser utilizada pelo mysql e quais a validações serão realizadas pelo MySql nas transações fazendo com que o MySql possa trabalhar com ambientes diferentes.
Os modos mais importantes são: ANSI, STRIC_TRANS_TABLES e TRADITIONAL.
ANSI – Esta opção faz com que o mysql trabalhe com o padrão ANSI para SQL
STRIC_TRANS_TABLES – Esta opção é a mais restrita, por exemplo se numa transação algum valor não pode ser inserido, o MySql aborta a transação e no caso de não usar tabelas transacionais o MySql aborta a instrução enviada ao banco. Este modo restringe a entrada de valores inválidos ou inexistentes. Um valor pode ser inválido por várias razões; por exemplo o tipo do dados inserido ser diferente do campo do banco, quando está fora de um intervalo, quando um valor a ser inserido está nulo e o campo está como não-nulo e você não tem uma definição do valor default dentre outros.
TRADITIONAL – Esta opção faz com que o MySql comporte como um SGDB (Sistema Gerenciador de Banco de Dados) tradicional. Sempre que for inserido um valor incorreto em uma coluna, o MySql emitirá um erro ao invés de uma advertência. O INSERT / UPDATE é cancelado logo após o erro deixando “lixo” na inserção ou alteração, pois o que foi inserido ou alterado não é desfeito em função do erro. É um modo mais flexível mas que por sua vez deve ser tratado com uma atenção especial.
Fonte: http://www.devmedia.com.br/mysql-administrator-parte-11/8957