tudo bem ae pessoal? estou vendo umas aulas de my sql pela internet e pintou uma duvida em relação a trigers ,coisa simples ,pois ainda estou no início. o exercio que eu fiz era só para inserir em tabela de backup assim que eu apagasse um registro da tabela produto. Então eu fiz duas tabelas , a tabela produto com os campos IDPRODUTO(PK,auto_increment),NOME E VALOR e a tabela BKP_PRODUTO com os campos IDBKP(PK,auto_increment),IDPRODUTO,NOME E VALOR. O problema ocorre quando assim que eu deleto um registro ,ao tentar inserir os dados na outra tabela ,ele diz que não pode haver um valor NULL ali,por exemplo:
CREATE TRIGGER BACKUP_PRODUTO
BEFORE DELETE ON PRODUTO
FOR EACH ROW
BEGIN
INSERT INTO BACKUP.BKP_PRODUTO VALUES (NULL,NEW.IDPRODUTO,NEW.NOME,NEW.VALOR);
END
$
fora das triggers para inserir um campo auto_increment isso funciona,mas aqui não :(
obs: eu uso o comand line para para por os comandos,não sei se tem algo aver.
Pergunta
luan52
tudo bem ae pessoal? estou vendo umas aulas de my sql pela internet e pintou uma duvida em relação a trigers ,coisa simples ,pois ainda estou no início. o exercio que eu fiz era só para inserir em tabela de backup assim que eu apagasse um registro da tabela produto. Então eu fiz duas tabelas , a tabela produto com os campos IDPRODUTO(PK,auto_increment),NOME E VALOR e a tabela BKP_PRODUTO com os campos IDBKP(PK,auto_increment),IDPRODUTO,NOME E VALOR. O problema ocorre quando assim que eu deleto um registro ,ao tentar inserir os dados na outra tabela ,ele diz que não pode haver um valor NULL ali,por exemplo:
CREATE TRIGGER BACKUP_PRODUTO
BEFORE DELETE ON PRODUTO
FOR EACH ROW
BEGIN
INSERT INTO BACKUP.BKP_PRODUTO VALUES (NULL,NEW.IDPRODUTO,NEW.NOME,NEW.VALOR);
END
$
fora das triggers para inserir um campo auto_increment isso funciona,mas aqui não :(
obs: eu uso o comand line para para por os comandos,não sei se tem algo aver.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.