简体   繁体   English

无法添加外键约束

[英]Cannot add forrign key constraint

My parent table creation is 我的父表创建是

create table product31
    (prod_id varchar(10), prod_name varchar(25))
    CHARACTER SET utf8 COLLATE utf8_unicode_ci

and my child table which want foreign key is 我想要foreign key子表是

create table product32
    (prod_id varchar(10), prod_value varchar(25),
    constraint foreign key (prod_id) 
        references product31(prod_id) on update cascade on delete cascade)
    CHARACTER SET utf8 COLLATE utf8_unicode_ci

By running second table script i got error 通过运行第二个表脚本,我得到了错误

cannot add foreign key constraint 无法添加外键约束

plz help me 请帮我

referenced field should be indexed in first table. 被引用的字段应在第一个表中建立索引。 So your create sysntax should be as per below- 因此,您的创建系统税应如下所示-

CREATE TABLE product31 (prod_id VARCHAR(10),prod_name VARCHAR(25), KEY idx_prod_id(prod_id))CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE TABLE product32 (prod_id VARCHAR(10),prod_value VARCHAR(25), FOREIGN KEY pd (prod_id) REFERENCES product31(prod_id) ON UPDATE CASCADE ON DELETE CASCADE) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Note: If you keep your prod_id field as primary key then no need to create separate index as primary key already will be indexed. 注意:如果将prod_id字段保留为主键,则无需创建单独的索引,因为已经对主键进行了索引。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM