none
MUITA DUVIDA NO ERRO RRS feed

  • Pergunta

  • CREATE TABLE MODELO --(ID, DESCRICAO),--
       (id int not null primary key identity(1,1),
       MODELO VARCHAR (100) NOT NULL)


       CREATE TABLE VEICULO  --ID, PLACA, MODELOID, CLIENTEID, COR, ANO
       (id int not null primary key identity(1,1),
       PLACA VARCHAR (70) NOT NULL,
       MODELO_ID INT  NOT NULL,
       CLIENTE_ID INT NOT NULL,
       COR VARCHAR (50),
       ANO INT NOT NULL)

       alter table VEICULO
    add constraint fk_MODELO foreign key(id_MODELO) references MODELO(id_MODELO);

    Mensagem 1769, Nível 16, Estado 1, Linha 24
    A chave estrangeira 'fk_MODELO' faz referência à coluna inválida 'id_MODELO' na tabela de referência 'VEICULO'.
    Mensagem 1750, Nível 16, Estado 0, Linha 24
    Não foi possível criar a restrição ou o índice. Consulte os erros anteriores.

       
    domingo, 11 de outubro de 2020 20:28

Todas as Respostas

  • Note na mensagem: A chave estrangeira 'fk_MODELO' faz referência à coluna inválida 'id_MODELO' na tabela de referência 'VEICULO'.

    Isso quer dizer que a coluna id_modelo na tabela VEICULO não existe.

    Tente dessa forma:

     alter table VEICULO
    add constraint fk_MODELO foreign key(MODELO_ID) references MODELO(id);



    Fabiano Carvalho

    segunda-feira, 12 de outubro de 2020 10:52
  • Note na mensagem: A chave estrangeira 'fk_MODELO' faz referência à coluna inválida 'id_MODELO' na tabela de referência 'VEICULO'.

    Isso quer dizer que a coluna id_modelo na tabela VEICULO não existe.

    Tente dessa forma:

     alter table VEICULO
    add constraint fk_MODELO foreign key(MODELO_ID) references MODELO(id);



    Fabiano Carvalho

    Danidzo,

    Em adicional, verifique se a tabela Modelo que você esta envolvendo na relação é a tabela que você deseja realmente relacionar.

    Uma alternativa é verificar através da interface gráfica do SSMS ou Azure Data Studio a estrutura da sua tabela de Veiculos e Modelo.

    O Select abaixo, poderá lhe ajudar a identificar a estrutura de suas tabelas:

    SELECT 
        COLUMN_NAME,
        DATA_TYPE,
        CHARACTER_MAXIMUM_LENGTH,
        CHARACTER_OCTET_LENGTH
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'Informe aqui no nome da tabela'
    Go
    


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 14 de outubro de 2020 16:05