Ao tentar efetuar o cadastro do usuario, sempre aparece a mensagem de erro abaixo:
Mesmo após eu alterar o arquivo population.sql e colocar a linha abaixo na
imagemUrl VARCHAR(255) DEFAULT 'https://valorpadrao.jpg',
Ao tentar efetuar o cadastro do usuario, sempre aparece a mensagem de erro abaixo:
Mesmo após eu alterar o arquivo population.sql e colocar a linha abaixo na
imagemUrl VARCHAR(255) DEFAULT 'https://valorpadrao.jpg',
Boa noite.
O erro que você está enfrentando indica que o campo imagemUrl
não possui um valor padrão no momento da inserção, e nenhum valor foi fornecido no comando INSERT
. A mensagem:
code: 'ER_NO_DEFAULT_FOR_FIELD',
errno: 1364,
sqlMessage: "Field 'imagemUrl' doesn't have a default value",
mostra que o MySQL está esperando um valor para imagemUrl
, mas não o recebeu — e o campo não tem DEFAULT
definido corretamente no banco.
Mesmo que você tenha adicionado DEFAULT 'https://valorpadrao.jpg'
no seu script population.sql
, pode ser que essa alteração não tenha sido aplicada no banco real em execução.
Ver o campo realmente tem o valor padrão no banco de dados atual:
Execute no seu banco:
SHOW CREATE TABLE paciente;
Procure por algo como:
`imagemUrl` varchar(255) DEFAULT 'https://valorpadrao.jpg'
Se não aparecer, a alteração no population.sql
não foi aplicada.
Corrija diretamente no banco com ALTER TABLE:
Para garantir que o campo tenha um valor padrão, execute diretamente:
ALTER TABLE paciente MODIFY imagemUrl VARCHAR(255) DEFAULT 'https://valorpadrao.jpg';
Outra alternativa: Se você quiser garantir que um valor seja passado sempre, pode modificar o INSERT
para incluir o campo imagemUrl
, mesmo que com um valor padrão:
INSERT INTO paciente (..., imagemUrl, ...) VALUES (..., 'https://valorpadrao.jpg', ...);