MySQL

Boa Noite

Tenho dúvidas como adicionar uma chave estrangeira à tabela!
Queria adicionar à tabela infos, o ID_Autor como chave estrangeira

tabela infos

ID_Info PK
Titulo

tabela autores

ID_Autor PK
Nome


alter table infos add foreign key (ID_Autor) references autores (ID_Autor);

Mensagens do MySQL :

#1072 - Coluna chave 'ID_Autor' não existe na tabela
 
ALTER TABLE infos ADD ID_Autor SMALLINT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE infos ADD CONSTRAINT fk_ID_Autor FOREIGN KEY(ID_Autor) REFERENCES autores(ID_Autor);

ou tenta

ALTER TABLE infos ADD FOREIGN KEY(`ID_Autor`)REFERENCES autores(`ID_Autores`);

Já agora como é que criaste as tabelas?
 
Tenho uma tabela autor, com dois atributos.

id_autor PK int
nome_completo varchar 30

Tentei usar este código mas não dá!

ALTER TABLE publicações ADD FOREIGN KEY (id_autor) REFERENCES autores(id_autor);

Mensagens do MySQL :

#1072 - Coluna chave 'id_autor' não existe na tabela
 
Primeiro adicionas o novo campo e depois define-o como foreign key.

Ora experimenta lá como disse o user acima.
 
Back
Topo