Erro na inserção de dados
Olá pessoal!
Estou desenvolvendo um sistema em php com mysql onde podem existir categorias com 0 ou n subníveis. Então, criei esta tabela:
CREATE TABLE categorias (id_categorias int(5) unsigned zerofill NOT NULL auto_increment,nome varchar(100) collate latin1_general_ci default NULL,idPai int(5) unsigned zerofill NOT NULL default 0,ordem tinyint(1) NOT NULL default 0,dataCadastro datetime NOT NULL,dataAtualizacao datetime NOT NULL,
PRIMARY KEY (id_categorias),
FOREIGN KEY (idPai)
REFERENCES categorias(id_categorias)
ON DELETE RESTRICT
ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
A idéia é que, se o campo idPai for zero, a categoria é raíz se não, a categoria é subnível da categoria de índice idPai. O problema é que, quando fui inserir os seguintes dados:
insert into categorias(nome, idPai, ordem, dataCadastro, dataAtualizacao) values('blusas', 0, 0, NOW(), NOW());
deu o seguinte erro:
#1452 - Cannot add or update a child row: a foreign key constraint fails (schuermann2/categorias, CONSTRAINT categorias_ibfk_1 FOREIGN KEY (idPai) REFERENCES categorias (id_categorias) ON UPDATE CASCADE)
Alguém poderia me ajudar? Obrigado.
Discussão (1)
Carregando comentários...