Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Erro ao criar Foreing key


Marcelo Cardoso

Question

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

Edited by Denis Courcy
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...