mysql5.0设置外键奇怪报错

debian mysql5.0

create table parent( id int not null primary key ) engine = innodb;
create table child(
id int ,
parent_id int,
index par_id (parent_id),
foreign key (parent_id) references parent(id)
) engine=innodb;

这个是手册上的例子,没有问题,通过

DROP TABLE IF EXISTS myweb_kind;
CREATE TABLE IF NOT EXISTS myweb_kind (
id tinyint(4) unsigned NOT NULL auto_increment PRIMARY KEY,
kind char(20) NOT NULL
) ENGINE=INNODB DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

-- 内容的子类
DROP TABLE IF EXISTS myweb_category;
CREATE TABLE IF NOT EXISTS myweb_category (
id tinyint(4) unsigned NOT NULL auto_increment PRIMARY KEY,
category char(20) NOT NULL,
kind_id tinyint(4) NOT NULL,
INDEX (kind_id),
FOREIGN KEY (kind_id) REFERENCES myweb_kind(id)
) ENGINE=INNODB DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

can't create table './myweb/myweb_category.dfm

这是我的例子,错误信息如上
一样的用户,一样的语法(exist之类的去掉也是一样问题)

我又用了django的orm试了一下,
django把这项工作分为三步
两个create,最后再alter category
我用sqlall 把语句打出来,然后自己在控制台里输入,还是报错,郁闷坏了

[b]问题补充:[/b]
index是不能去掉的,mysql规定了,使用外键的列必须是索引的,根据CU上的回答,这个问题解决了,外键列与引用表中的列必须是相同的数据结构,完全相同,所以,还得加上unsigned,这样就可以了

只是,不知道该怎么算分,自己给自己么
[b]问题补充:[/b]
呵呵,没见过这么求分的,其实我也没几分,不过重要的是共同进步

才五分而已,你就给我吧

INDEX (kind_id),
去掉试试