Não é possível inserir com valor em branco no MariaDB não no modo estrito

0

Acabei de configurar um novo ambiente de desenvolvimento no Debian 9 e no mariadb: 10.1.26-MariaDB-0 + deb9u1 Debian 9.1

O ambiente anterior era o Debian 7 com o mysql: 5.6.38-1 ~ dotdeb + 7.1 (Debian)

O valor

para o modo sql é: MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode'; +---------------+------------------------+ | Variable_name | Value | +---------------+------------------------+ | sql_mode | NO_ENGINE_SUBSTITUTION | +---------------+------------------------+

Para os bancos de dados, as colunas são configuradas como NOT NULL sem valor padrão. (a maioria são apenas campos varchar / text)

Não consigo inserir novos registros nem alterar registros existentes. Eu estou usando laravel / eloquent e se eu definir a opção de conexão para strict = true, eu recebo um erro sobre a coluna não ter um valor padrão em vez disso.

Toda a minha pesquisa revelou que eu deveria ser capaz de desativar o modo estrito para recuperar a funcionalidade antiga, mas não parece que o modo estrito esteja ativado.

Existe uma opção de configuração que está faltando?

    
por Romulo 16.02.2018 / 02:07

1 resposta

0

Encontrar uma configuração que permita que códigos imprecisos continuem sendo executados não é uma ótima ideia. Um dia, eventualmente, ele exibirá o comportamento errado.

Corrija seu código para inserir um valor em todas as colunas nas quais ele está definido NOT NULL e nenhum valor padrão.

Como alternativa, se houver um valor padrão significativo para uma coluna, altere a coluna da tabela para contêr o valor padrão.

    
por 19.08.2018 / 06:24