• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Saco

PRIMARY KEY contendo 2 campos

7 mensagens neste tópico

É isso mesmo queria fazer uma tabela em que a PRIMARY KEY seria o conjunto dos seus dois campos.

CREATE TABLE cont_fact (
bi_cliente int NOT NULL PRIMARY KEY,
id_factura int NOT NULL PRIMARY KEY
);  

Não resulta, portanto, estou aberto a sugestões...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tem exactamente o que eu quero. O meu problema é que quero que ambos os campos sejam PRIMARY KEY... mas ok, vou experimentar fazer ALTER TABLE...ADD CONSTRAINT duas vezes a ver se dá barraca.

EDIT: Cála-te boca... é o que dá ler as coisas à pressa... Thanks  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que penso, uma tabela só tem uma chave primária, podes é ter chaves concorrentes.

E nesse caso acho que estás a estreturar mal a BD. Cliente e Factura tudo junto vai dar barraca! :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se chamas chaves concorrentes ao que eu chamo "chaves compostas" ... e se estamos a falar do mesmo, então desculpa mas a BD nao está mal estruturada so pelo facto de ter chaves compostas. Não tenho tempo para dar um exemplo, mas se continuar a discussão então mais logo à noite ponho.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Chaves compostas! É isso! Eu sabia que havia um nome para isto, mas como não sabia qual era... nem sequer sabia como googlar.

Mais uma vez, muito obrigado.

Gurzi: Eu não estou a juntar cliente e factura na mesma tabela. Tenho uma tabela para os clientes, outra para as facturas, e outra que diz q facturas é que são de que clientes. Quero usar a chave composta para garantir que um cliente não recebe a mesma factura 2 vezes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora