MySql错误1215:创建表时无法添加外键约束

时间:2015-12-28 17:52:07

标签: mysql sql constraints foreign-key-relationship

我修改了表Company,修改了列Comp_discountrate。然后,我创建表TQuote,并且由于Comp_discountrate作为外键约束而存在错误(1215)。没有表格定义的最后一行,它运作良好。我怎么处理这个?

Alter table Company
modify Comp_discountrate double(2,2) not null default '0.4';

create table TQuote(
    Quo_id varchar(7) not null,
    Mem_id varchar(7) not null,
    Quo_date DATETIME NOT NULL DEFAULT NOW(),
    Comp_discountrate double(2,2) not null default '0.4',
    primary key(Quo_id, Mem_id),
    foreign key(Mem_id) references Tuser(Mem_id) on delete cascade,
    foreign key(Comp_discountrate) references Company(Comp_discountrate) on update cascade
)

2 个答案:

答案 0 :(得分:0)

您需要公司(Comp_discountrate)

的唯一索引

答案 1 :(得分:0)

必须为参考字段编制索引。虽然我建议这些索引是唯一的,MySQL不要求它们(除非使用NDB存储引擎)。