Ir para conteúdo
Fórum Script Brasil

Adriano dos Santos Júnior

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Adriano dos Santos Júnior

Adriano dos Santos Júnior's Achievements

0

Reputação

  1. Leia o artigo que escrevi para a Devmedia. Obrigado Denis! Vou criar uma function que recebe a tabela, campo primário e valor como parâmetros e retorne o próximo ID válido, me baseando nesta sua função. Assim na criação da trigger, eu simples chamo essa function. Abraços
  2. Denis, se você tentar executar o código de criação que citei, ele irá funcionar, mas irá criar com Engine MyISAM a tabela chamadoInteracao. Se você for adicionando nesta tabela um valor para a coluna chamadoId, ele vai criar automaticamente e incrementalmente o valor da coluna interacaoId. Se você retirar a parte do comando engine=MyISAM, você pode perceber que ocorrerá o seguinte erro: SQL Error (1075): Incorrect table definition; there can be only one auto column and it must be defined as a key Logo, o InnoDB não permite uma tabela com dois campos primários, sendo um inteiro e outro auto_increment baseado no primeiro campo da chave primária. A estrutura de dados ficaria mais ou menos assim: chamadoId interacaoId (auto_increment) 1 1 1 2 2 1 2 2 2 3 2 4 3 1 Com a engine InnoDB não é possível criar a chave composta com um campo auto_increment baseado em outro campo da chave primária. Estou a procura de uma engine ou procedure (Invocada por trigger), que permita o seguinte: Criar uma tabela com chave composta, aonde o segundo campo desta chave seja auto_increment e ainda tenha referência de FK no primeiro campo da chave primária.
  3. Boa noite gente! Quero ver se vocês podem me ajudar num problema cruel. Um exemplo simples, que ocorre este problema. Existem 2 tabelas: chamado e chamadoInteracao; Estruturas create table chamado ( chamadoId int(9) primary key auto_increment ); create table chamadoInteracao ( chamadoId int(9), interacaoId int(9) auto_increment, primary key (chamadoId,interacaoId) )ENGINE=MyISAM Deste modo, o campo interacaoId é gerado automaticamente ao inserir um novo registro na tabela chamadoInteracao, bastando apenas informar o campo chamadoId. Existiria alguma forma, engine ou outro método para a tabela chamadoInteracao ter uma FK para tabela de chamado, e assim, ao excluir um registro de chamado, apagar todas as interações? Porque para contemplar esse auto_increment do interacaoId, somente a engine MyISAM permite, a InnoDB não
×
×
  • Criar Novo...