Erro ao tentar criar chave estrangeira para tabela no SQL?

Alonzo Robbe

Estou criando uma tabela de tela:

CREATE TABLE SCREEN(
BRANCHID CHAR(2) NOT NULL,
SCREENID CHAR(2) NOT NULL,
SCREENCACPACITY NUMBER(3),
CONSTRAINT SCREEN_PK PRIMARY KEY(BRANCHID, SCREENID),
CONSTRAINT SCREEN_FK FOREIGN KEY(BRANCHID) REFERENCES BRANCH(BRANCHID));

Mas quando eu crio uma Tabela de Sessões:

CREATE TABLE SESSIONS(
SESSIONID CHAR(4) NOT NULL,
BRANCHID CHAR(2) NOT NULL,
SCREENID CHAR(2) NOT NULL,
MOVIEID CHAR(2) NOT NULL,
SESSIONDATE DATE,
SESSIONPRICE NUMBER(4,2),
CONSTRAINT SESSIONS_PK PRIMARY KEY(SESSIONID),
CONSTRAINT SESSIONS_FK1 FOREIGN KEY(BRANCHID) REFERENCES BRANCH(BRANCHID),
CONSTRAINT SESSIONS_FK2 FOREIGN KEY(SCREENID) REFERENCES SCREEN(SCREENID),
CONSTRAINT SESSIONS_FK3 FOREIGN KEY(MOVIEID) REFERENCES MOVIE(MOVIEID));

Recebo um erro "nenhuma chave única ou primária correspondente para esta lista de colunas". Sei que o erro é com a tabela Screen, pois tentei todas as chaves estrangeiras por conta própria, e a Screen foi a única que me deu o erro. Então, quando tento rodar o script completo, não funciona por causa do Screen.

Branch e Movie Screen foram feitos e são mais ou menos iguais que Screen. Ajuda pl0x

Alexei - verifique Codidact

A maioria (senão todos) dos tipos de SQL que suportam chaves estrangeiras irão forçá-lo a apontar a chave estrangeira para a chave primária inteira. No seu caso, a tabela SCREEN tem (BRANCHID, SCREENID) AS PK, mas seu SESSIONS_FK2 FK aponta apenas para SCREENID.

Você deve criar uma chave estrangeira que especifica ambas as colunas. Algo como:

CONSTRAINT FK_SESSION_SCREEN FOREIGN KEY (BRANCHID, SCREENID) REFERENCES SCREEN(BRANCHID, SCREENID)

Outras coisas a considerar:

1) Se você deseja normalização, talvez ramificação e tela devam ser separadas (assim, tendo uma única chave primária de coluna para cada)

2) Nomeie suas restrições com nomes significativos, para que você entenda diretamente o que elas fazem.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

mySQL: Erro ao tentar criar uma chave estrangeira

Erro (1005) ao tentar criar uma chave estrangeira

Erro geral 1215 ao tentar fazer uma chave estrangeira dentro da mesma tabela, inteiro para inteiro

Erro de sintaxe SQL 1064 ao tentar criar uma restrição de chave estrangeira em uma consulta de criação de tabela

Erro ao criar chave estrangeira em uma tabela no PostgreSQL 11.0

Erro ao criar tabela mysql com chave estrangeira

Erro de chave estrangeira ao tentar criar um novo registro no Django

Obtendo o erro 1822 no MySQL ao tentar criar uma chave estrangeira

Erro ao criar chave estrangeira em SQlite

problemas para criar tabela usando chave estrangeira

Recebi o erro # 1064 ao criar uma tabela de banco de dados com chave estrangeira

Erro de MySQL ao tentar criar a tabela,

Erro de chave estrangeira ao tentar excluir uma linha filha

Erro ao tentar inserir linha na tabela por causa da chave estrangeira UUID com sequelize.js

Erro ao definir chave estrangeira no SQL Server

MariaDB criar tabela lança erro na contraint chave estrangeira

Criar tabela com erro de sintaxe da chave estrangeira

Erro de incompatibilidade de chave estrangeira em sqlite ao tentar usar rowid como chave estrangeira

Informix - Crie uma chave estrangeira ao criar a tabela

Por que o sql está me mostrando um erro ao criar uma chave estrangeira?

pymysql - CHAVE ESTRANGEIRA CRIAR TABELA

Sqlalchemy Erro de relacionamento de chave estrangeira ao criar tabelas

Eu tive um erro ao criar uma chave estrangeira no laravel

Erro 1215 do MySQL ao criar chave estrangeira

Erro duplicado ou nulo ao tentar enviar solicitação POST para objeto JSON com chave estrangeira usando Spring JPA

Erro ao criar gatilho SQL para atualizar outra tabela

Erro no SQL Developer ao tentar atualizar a tabela

Erro Os usuários já saem ao tentar criar uma coluna para uma tabela existente

Erro SQL: ORA-00907: parêntese direito ausente ao tentar criar a tabela

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo