Mysql创建表的时候创建不了外键

create table orderdetail
(
id int UNSIGNED AUTO_INCREMENT PRIMARY KEY,
oid varchar(20) ,
fname varchar(20) ,
fprice decimal(5,2),
num SMALLINT UNSIGNED not null,
subtotals decimal(5,2) not null,
CONSTRAINT fk_orderdetail_oid FOREIGN KEY (oid) REFERENCES orders (oid),
CONSTRAINT fk_orderdetail_fname FOREIGN KEY (fname) REFERENCES fruit (fname),
CONSTRAINT fk_orderdetail_fprice FOREIGN KEY (fprice) REFERENCES fruit (fprice)
);
显示错误信息是
[Err] 1215 - Cannot add foreign key constraint

求问大神出错了在哪呢这语法!!在线等!!

(1)外键对应的字段数据类型不一致

(2)两张表的存储引擎不一致

(3)设置外键时“删除时”设置为“SET NULL”

不是哦 我发现了 第一条外键可以插入 可是后面两条不行!