从php我的管理员导入时无法添加外键

时间:2017-05-24 21:22:40

标签: mysql foreign-keys

我有以下sql脚本:

use restaurant;
set foreign_key_checks=0;
create table rtable_schedule(
    id int(11) not null,
    rdate date not null,
    start_hour tinyint,
    start_min tinyint,
    end_hour tinyint,
    end_min tinyint,
    foreign key (id,rdate) references rtable(id,reservation_date),
    primary key (id,rdate)
);

然而,当我通过phpmyadmin导入它时,我收到以下错误:

#1215 - Cannot add foreign key constraint 任何想法如何解决?注意rtable已经存在

1 个答案:

答案 0 :(得分:1)

Here's Foriegn Keys的MySQL文档,这就是它所说的:

  

InnoDB允许外键引用任何列或组   列。但是,在引用的表中,必须有一个索引   其中引用的列被列为的第一列   同样的顺序。

     

NDB在任何列上都需要显式唯一键(或主键)   引用为外键。

由于reservation_date列不是主键的一部分,因此它很可能在rtable中没有索引。我建议在创建包含reservation_date的表格之前在Foreign Key列上创建索引。