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', ...);