Boa tarde, estou com um pequeno problema ao fazer a ligação entre as tabelas, preciso ligar a tabela de atleta e fazer a ligação com a tabela do orgão expedidor de documento.
Aparece o seguinte erro quando tento criar a tabela de atleta
“Error code 1215. Cannot add foreign key constraint.”
Eu criei já criei a tabela modalidade, naipe e orgao_ex.
Se alguém puder me falar qual o erro agradeço.
Segue abaixo as queries.
CREATE TABLE modalidade (
id INT NOT NULL PRIMARY KEY auto_increment,
nome VARCHAR(50) NOT NULL,
CONSTRAINT uk_id UNIQUE (id)
) ENGINE=INNODB;
CREATE TABLE naipe (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(50) NOT NULL,
CONSTRAINT uk_id UNIQUE (id)
) ENGINE=INNODB;
CREATE TABLE competicao (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
modalidade INT NOT NULL,
naipe INT NOT NULL,
inicio DATETIME,
fim DATETIME,
CONSTRAINT uk_id UNIQUE (id),
CONSTRAINT fk_modalidade FOREIGN KEY (modalidade)
REFERENCES modalidade,
CONSTRAINT fk_naipe FOREIGN KEY (naipe)
REFERENCES naipe
) ENGINE=INNODB;
CREATE TABLE relac_atleta (
competicao INT NOT NULL PRIMARY KEY,
atleta INT NOT NULL,
CONSTRAINT uk_competicao UNIQUE (compteticao),
CONSTRAINT uk_atleta UNIQUE (atleta),
CONSTRAINT fk_competicao FOREIGN KEY (competicao)
REFERENCES competicao,
constraint fk_atleta foreign key (atleta)
references atleta
) ENGINE=INNODB;
CREATE TABLE orgao_exp (
id INT NOT NULL PRIMARY KEY,
descricao VARCHAR(200) NOT NULL,
sigla VARCHAR(15),
CONSTRAINT _uk_id UNIQUE (id)
) ENGINE=INNODB;
CREATE TABLE atleta (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(60) NOT NULL,
rg VARCHAR(20) NOT NULL,
orgao INT NOT NULL,
uf_rg CHAR(2) NOT NULL,
nascimento DATE NOT NULL,
CONSTRAINT fk_orgao FOREIGN KEY (orgao)
REFERENCES orgao_exp (orgao)
) ENGINE=INNODB;