我的父表创建是
create table product31
(prod_id varchar(10), prod_name varchar(25))
CHARACTER SET utf8 COLLATE utf8_unicode_ci
我想要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
通过运行第二个表脚本我得到了错误
无法添加外键约束
请帮帮我
答案 0 :(得分:0)
引用字段应在第一个表中编入索引。所以你的create sysntax应该如下 -
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;
注意:如果将prod_id字段保留为主键,则无需创建单独的索引,因为主键已经被编入索引。