benim dediğim biraz farklıydı kendi kategori tablomdan örnek vereyim.

CREATE TABLE kategori (
no int(5) not null auto_increment,
alt int(5) not null default '0',
isim varchar(225) not null,
primary key (no)
);

INSERT INTO kategori VALUES
(1, 0, 'İlk Ana Kategori'),
(2, 0, 'İkinci Ana Kategori'),
(3, 1, 'İlk Ana Kategorinin İlk Alt Kategorisi'),
(4, 1, 'İlk Ana Kategorinin İkinci Alt Kategorisi'),
(5, 3, 'İlk Alt Kategorinin İlk Alt Kategorisi'),
(6, 2, 'İkinci Ana Kategorinin İlk Alt Kategorisi');
bu şekilde sonsuz alt kategori oluşturabilirsiniz. Alt kategori numarası ana kategorinin id numarası ile aynı olacak. örneği inceleyin sanırım yardımcı olur.