Jamil Postado Setembro 13, 2010 Denunciar Share Postado Setembro 13, 2010 (editado) Estou com problemas para criar chaves estrangeiras de um trabalho, sou iniciante com o mysql, então não sei qual o problema na syntax :Svou colocar o código aqui, para se possivel alguém me ajudarcreate table CLIENTE( cod_cliente int(2), nome char(25), endereco char(40), cidade char(25), telefone char(10)); create table VENDA( cod_venda int(4), data_venda date, cliente int(2), data_entrega date, valor_total double(7,2), FOREIGN KEY (cliente) REFERENCES CLIENTE (cod_cliente)); create table ITEM_VENDA( cod_venda int(4), cod_item_venda int, cod_produto int(4), quantidade int, FOREIGN KEY (cod_venda) REFERENCES VENDA (cod_venda), FOREIGN KEY (cod_produto) REFERENCES PRODUTO (cod_produto)); create table PRODUTO( cod_produto int(4), descricao char(25), preço double(8,2));desde já, agradeço Editado Setembro 14, 2010 por Denis Courcy Melhorar entendimento do código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Setembro 14, 2010 Denunciar Share Postado Setembro 14, 2010 Oi, 'Jamil'A resolução deste problema é simples.Inverta a ordem de criação da tabela produto.Ela deve ser criada antes de criar a tabela ITEM_VENDA.Crie indices primary key para as tabelas CLIENTE atributo cod_cliente, PRODUTO atributo cod_produto e VENDA atributo cod_venda.O código corrigido está abaixo.create table CLIENTE( cod_cliente tinyint unsigned, nome char(25), endereco char(40), cidade char(25), telefone char(10), primary key(cod_cliente) )engine = innodb; create table PRODUTO( cod_produto smallint unsigned, descricao char(25), preço double(8,2), primary key (cod_produto) )engine = InnoDB; create table VENDA( cod_venda smallint unsigned, data_venda date, cliente tinyint unsigned, data_entrega date, valor_total double(7,2), FOREIGN KEY (cliente) REFERENCES CLIENTE (cod_cliente), primary key (cod_venda) )engine = InnoDB; create table ITEM_VENDA( cod_venda smallint unsigned, cod_item_venda int unsigned, cod_produto smallint unsigned, quantidade int, FOREIGN KEY (cod_venda) REFERENCES VENDA (cod_venda), FOREIGN KEY (cod_produto) REFERENCES PRODUTO (cod_produto), primary key (cod_venda, cod_item_venda) ) engine = InnoDB;desde já, agradeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jamil
Estou com problemas para criar chaves estrangeiras de um trabalho, sou iniciante com o mysql, então não sei qual o problema na syntax :S
vou colocar o código aqui, para se possivel alguém me ajudar
desde já, agradeço
Editado por Denis CourcyMelhorar entendimento do código.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.