Olá pessoal. Bom, não sei se estou no fórum correto, pensei em postar no Persistência: Hibernate, JPA, JDBC e outros mas, acho q é aqui mesmo.
Seguinte. Tenho uma tabela que estou tentando criar porém dá erro no Workbench MySQL. Nessa tabela quero criar 2 colunas que são PK e FK e uma outra q “é dela mesmo”, ou seja, cada coluna q estou definindo como PK é o sequence de outras tabelas.
Tenho a tabA e a tabB e estou tentano criar a pontuacao_tabA_tabB que contém o id(sequence) de cada uma delas.
Acho q com o código vcs vão entender o que digo:
[code]CREATE TABLE aulaPKFK.pontuacao_tabA_tabB (
idtabA INT NOT NULL ,
idtabB INT NOT NULL ,
ptTotal VARCHAR(45) NOT NULL ,
PRIMARY KEY (idtabA, idtabB) ,
INDEX fk_idtabA_idx (idtabA ASC) ,
INDEX fk_idtabB_idx (idtabB ASC) ,
CONSTRAINT fk_idtabA
FOREIGN KEY (`idtabA` )
REFERENCES `aulaPKFK`.`tabA` (`idtabA` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT fk_idtabB
FOREIGN KEY (`idtabB` )
REFERENCES `aulaPKFK`.`tabB` (`idtabB` )
ON DELETE CASCADE
ON UPDATE CASCADE)
‘CREATE TABLE pontuacao_taba_tabb ( idtabA int(11) NOT NULL, idtabB int(11) NOT NULL, ptTotal varchar(45) NOT NULL,
PRIMARY KEY (idtabA,idtabB),
KEY fk_idtabA_idx (idtabA),
KEY fk_idtabB_idx (idtabB),
CONSTRAINT fk_idtabA FOREIGN KEY (idtabA) REFERENCES taba (idtabA) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_idtabB FOREIGN KEY (idtabB) REFERENCES tabb (idtabb) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1’
[/code][/quote]
Obrigado ribclauport, É isso mesmo que você disse. Eu criei as tabelas novamente e padronizei os nomes das constraint, index, fk e pk pelo padrão SQL que pesquisei na internet. Eu também criei uma tabela, somente depois de criada que adicionei as FK, uma de cada vez e rodou.