Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tabela com duas PKs?

No exercício "Criando tabela de itens notas" é necessário criar a tabela ITENS notas com as seguintes colunas como descrito no próprio exercício:

  • Número (PK) e (FK- Tabela de vendas) - Varchar(5)
  • Código do Produto (PK) e (FK- Tabela de Produtos) - Varchar(10)
  • Quantidade - Int32
  • Preço - Float

E então fiz este código:

CREATE TABLE ITENS_NOTAS (
NUMERO VARCHAR(5) NOT NULL,
CODIGO VARCHAR(10) NOT NULL,
QUANTIDADE INT(11) NULL,
PRECO FLOAT NULL,
PRIMARY KEY (CODIGO),
PRIMARY KEY (NUMERO),
FOREIGN KEY (CODIGO) REFERENCES produtos(CODIGO),
FOREIGN KEY (NUMERO) REFERENCES vendas(NUMERO)
);

E então o MySQL Workbecnch apresenta o seguinte erro: Error Code: 1068. Multiple primary key defined

Gostaria muito de resolver essa questão :)

1 resposta
solução!

Opa consegui a solução por conta própria, segue o código SQL que funcionou corretamente:

CREATE TABLE itens_notas (
NUMERO VARCHAR(5) NOT NULL,
CODIGO VARCHAR(10) NOT NULL,
QUANTIDADE INT NULL,
PRECO FLOAT NULL,
PRIMARY KEY (NUMERO, CODIGO),
CONSTRAINT FK_VENDAS FOREIGN KEY (NUMERO) REFERENCES vendas(NUMERO),
CONSTRAINT FK_PRODUTOS FOREIGN KEY (CODIGO) REFERENCES produtos(CODIGO));

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software