Can´t create table

MySQL

12/12/2006

[color=red:6548a96727]Título editado por Massuda Por favor, procure usar um título descritivo.[/color:6548a96727]

estava criando um banco e estava dando erro, então resolvi ir criando tabela por tabela, jogava o sql e a tabela era gerada.

quando chegou nessa tabela...

CREATE TABLE pro_produto (
codigo INT NOT NULL AUTO_INCREMENT,
codigotipo INT NOT NULL,
codigogrupo INT(3) NOT NULL,
descricao TEXT,
codigofornec INT,
unidcompra VARCHAR(3),
unidvenda VARCHAR(3),
fator decimal(8,2),
qtd01 decimal(8,2),
qtd02 decimal(8,2),
custo FLOAT,
venda DECIMAL(8,2),
custo_medio decimal(8,2),
margem float,
aparecenosite VARCHAR(1),

PRIMARY KEY(codigo),
FOREIGN KEY (codigotipo) REFERENCES pro_tipoproduto (codigotipo),
FOREIGN KEY (codigogrupo) REFERENCES pro_grupo (codigotipo)
)ENGINE=INNODB;


Deu o seguinte erro:
#1005 - Can´t create table ´.\produtivo\pro_produto.frm´ (errno: 150)

Alguém poderia me ajudar? pois não sei que erro é esse, sou iniciante e agradeço desde já a ajuda de alguém.

Obrigado!
PERNAMBUCO.


Pernambuco

Pernambuco

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

12/12/2006

bom, não conheço mysql, mas está correto definir o tamanho de campos inteiros?
[b:565f13c582]codigogrupo INT(3)[/b:565f13c582] não deveria ser somente [b:565f13c582]codigogrupo INT[/b:565f13c582]?

outra coisa:
para que seja possível criar a tabela pro_produto será necessário criar primeiramente as tabelas pro_tipoproduto e pro_grupo, pois essas tabelas são referenciadas na criação da tabela pro_produto como chaves estrangeiras.


GOSTEI 0
Pernambuco

Pernambuco

12/12/2006

Eu criei as duas outras tabelas antes de pro_produto e mesmo assim está dando erro.

Desculpem por nao ter especificado mais claramente o erro!!

Alguem teria alguma sugestão?

Valeu pela força emerson!

Abraço!
PERNAMBUCO.


GOSTEI 0
Pernambuco

Pernambuco

12/12/2006

Ae pessoal, valeu pela ajuda, descobri o erro!

É que na referência da chave estrangeira eu coloquei trocada.

Valeu!
PERNAMBUCO.


GOSTEI 0
POSTAR