Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Chrismiller

chave primária composta e estrangeira

Recommended Posts

Olá, estou com o seguinte problema, eu tenho a tabela abaixo:

 

CREATE TABLE preco(

 

opcao float NOT NULL,

tipo float NOT NULL',

valor double

 

PRIMARY KEY (opcao, tipo)

 

) TYPE=InnoDB;

 

 

Sendo que os campos opcao e tipo são chaves primárias e estrangeiras tb, o campo opcao eh chave primária da tab_opcao e o campo tipo eh chave primária da tab_tipo.

 

Ex.

Opcao Tipo Valor

1 1 10,00

1 2 20,00

2 1 30,00

 

Não consigo criar as chaves estrangeiras, preciso criar índices, esta estrutura está correta ??

 

 

Bem, espero ter sido claro.

Agradeço quem puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As estruturas das tabelas Tb_Tipo e Tb_Opcao:Tabela TB_Tipo:CREATE TABLE TB_Tipo(codtipo bigint(20) NOT NULL auto_increment,tipo varchar (20) NOT NULL,PRIMARY KEY (codtipo)) TYPE=InnoDB;Tabela TB_Tipo:CREATE TABLE TB_Opcao(codopcao bigint(20) NOT NULL auto_increment,opcao varchar (20) NOT NULL,PRIMARY KEY (codopcao)) TYPE=InnoDB;Estou usando o PHPMyAdmin para criar as tabelas. Para criar as chaves estrangeiras utilizo a seguinte sintaxe:ALTER TABLE preco ADD FOREIGN KEY (valor1) REFERENCES tbtipo(tipo) ON DELETE RESTRICTALTER TABLE preco ADD FOREIGN KEY (valor2) REFERENCES tbopcao(opcao) ON DELETE RESTRICTe aparece este erro:Mensagens do MySQL : #1005 - Can't create table '.\bd\#sql-4ec_43.frm' (errno: 150)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.