Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas em deletar campos relacionados


epassagem

Pergunta

Olá galera.

Estou com o sequinte problema.

Possui 3 tabelas relacionadas.

Formulario

Pergunta

Alternativas

CREATE TABLE IF NOT EXISTS `pergunta` (
  `idPergunta` int(11) NOT NULL AUTO_INCREMENT,
  `descricao` varchar(200) DEFAULT NULL,
  `tipo` char(1) DEFAULT NULL,
  `variavel` varchar(15) DEFAULT NULL,
  PRIMARY KEY (`idPergunta`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='descricao corresponde a pergunta propriamente dita\nresposta_' AUTO_INCREMENT=7;

CREATE TABLE IF NOT EXISTS `formulario` (
  `idFormulario` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`idFormulario`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='Conjunto de questoes que foram aplicadas em cada faze da pes' AUTO_INCREMENT=3;

CREATE TABLE IF NOT EXISTS `formulario_has_pergunta` (
  `Formulario_idFormulario` int(11) NOT NULL,
  `Pergunta_idPergunta` int(11) NOT NULL,
  PRIMARY KEY (`Formulario_idFormulario`,`Pergunta_idPergunta`),
  KEY `fk_Formulario_has_Pergunta_Pergunta1` (`Pergunta_idPergunta`),
  KEY `fk_Formulario_has_Pergunta_Formulario1` (`Formulario_idFormulario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `possui` (
  `Pergunta_idPergunta` int(11) NOT NULL,
  `Respostas_idRespostas` int(11) NOT NULL,
  PRIMARY KEY (`Pergunta_idPergunta`,`Respostas_idRespostas`),
  KEY `fk_Pergunta_has_Respostas_Respostas1` (`Respostas_idRespostas`),
  KEY `fk_Pergunta_has_Respostas_Pergunta1` (`Pergunta_idPergunta`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `respostas_possiveis` (
  `idRespostas` int(11) NOT NULL AUTO_INCREMENT,
  `alternativaA` varchar(100) DEFAULT NULL,
  `alternativaB` varchar(100) DEFAULT NULL,
  `alternativaC` varchar(100) DEFAULT NULL,
  `alternativaD` varchar(100) DEFAULT NULL,
  `alternativaE` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`idRespostas`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='respostas possiveis a uma dada pergunta a serem escolhidas p' AUTO_INCREMENT=4;
é o seguinte. quando eu deleto um registro da tabela respostas possiveis, eu gostaria que fosse deletado o campo correspondente na pergunta . Se eu deletar um campo na pergunta, o cascade esta funcionando para deletar na tabela formulario_has_pergunta. E se eu deletar um campo em respostas_possiveis, o campo na tabela possui também é excluido. já tentei fazer uma trigger na tabela possui usando um after delete
DELETE FROM pergunta
WHERE idPergunta = (SELECT Pergunta_idPergunta
                                    FROM DELETED)

porem não consegui resulta.

Não sei se estou fazendo a trigger errado.

Obrigado

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...