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

(Resolvido) Erro ao criar Foreing key


Marcelo Cardoso

Pergunta

Olá amigos, estou tendo dificuldades na criação das chaves estrangeiras no meu banco de dados. Já tentei vários comandos e sempre dá erro

(ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key (

cdvendedor) references imovelnet.vendedor (cdvendedor))' at line 1).

Estou utilizando o seguinte comando para a criação da chave estrangeira :

ALTER TABLE IMOVELNET.IMOVEL ADD (FOREING KEY (DCVENDEDOR) REFERENCES IMOVELNET.VENDEDOR (CDVENDEDOR));

Abaixo colei a descrição das duas tabelas que estou querendo relacionar. A tabela vendedor possui a chave primaria em CDVENDEDOR e na Tabela imovel CDVENDEDOR aparece como chave estrangeira.

mysql> desc imovelnet.vendedor

-> ;

+------------+---------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+---------------+------+-----+---------+-------+

| CDVENDEDOR | int(11) | NO | PRI | NULL | |

| NMVENDEDOR | varchar(40) | NO | | NULL | |

| NMENDERECO | varchar(40) | NO | | NULL | |

| NRCPF | decimal(10,0) | YES | | NULL | |

| NMCIDADE | varchar(20) | YES | | NULL | |

| NMBAIRRO | varchar(20) | YES | | NULL | |

| SGESTADO | varchar(2) | YES | | NULL | |

| TELEFONE | varchar(20) | YES | | NULL | |

| EMAIL | varchar(80) | YES | | NULL | |

+------------+---------------+------+-----+---------+-------+

9 rows in set (0.10 sec)

mysql> desc imovelnet.imovel;

+-----------------+---------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-----------------+---------------+------+-----+---------+-------+

| CDIMOVEL | int(11) | NO | PRI | NULL | |

| CDVENDEDOR | int(11) | NO | | NULL | |

| CDBAIRRO | int(11) | NO | | NULL | |

| CDCIDADE | int(11) | NO | | NULL | |

| SGESTADO | int(11) | NO | | NULL | |

| NMENDERECO | varchar(20) | YES | | NULL | |

| NRAREAUTIL | decimal(10,2) | YES | | NULL | |

| NRAREATOTAL | decimal(10,2) | YES | | NULL | |

| DSIMOVEL | varchar(300) | YES | | NULL | |

| NROFERTAS | int(11) | YES | | NULL | |

| STVENDIDO | char(1) | YES | | NULL | |

| DTLANCTO | date | YES | | NULL | |

| IMOVEL_INDICADO | int(11) | YES | | NULL | |

| GSESTADO | char(2) | YES | | NULL | |

+-----------------+---------------+------+-----+---------+-------+

14 rows in set (0.09 sec)

mysql

Gostaria de receber ajuda do FORUM para solucionar este problema, pois já procurei em livros e não encontrei a resposta.

Desde já agradeço a atenção de todos.

abraços :D

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Na instrução

ALTER TABLE IMOVELNET.IMOVEL ADD (FOREING KEY (DCVENDEDOR) REFERENCES IMOVELNET.VENDEDOR (CDVENDEDOR));

Não existe o campo DCVENDEDOR na tabela IMOVELNET.IMOVEL

Link para o comentário
Compartilhar em outros sites

  • 0
Na instrução
ALTER TABLE IMOVELNET.IMOVEL ADD (FOREING KEY (DCVENDEDOR) REFERENCES IMOVELNET.VENDEDOR (CDVENDEDOR));

Não existe o campo DCVENDEDOR na tabela IMOVELNET.IMOVEL

Oi Denis, eu digitei errado aqui quando tentava indicar o comando q estava aplicando no MYSQL. Segue comando com o campo corrigido.

ALTER TABLE IMOVELNET.IMOVEL ADD (FOREING KEY (CDVENDEDOR) REFERENCES IMOVELNET.VENDEDOR (CDVENDEDOR));

Desde já agradeço a sua atenção.

att

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...