MySQL FK错误1005-主键与FK相同

MySQL FK错误1005-主键与FK相同,mysql,sql,foreign-keys,primary-key,Mysql,Sql,Foreign Keys,Primary Key,我有一个类似的问题: 但是,我的模式似乎与答案匹配,但仍然返回错误“error 1005(HY000):无法创建表(errno:150)” 感谢您提前定义一个外键,引用的字段必须已索引 根据外键约束的文档: 参考tbl_名称(索引col_名称,…) 在表po\u items中的item\u id上定义一个索引,该索引应该有效 CREATE TABLE po_items ( job_id CHAR(3) NOT NULL, po_id CHAR(3) NOT

我有一个类似的问题:

但是,我的模式似乎与答案匹配,但仍然返回错误“error 1005(HY000):无法创建表(errno:150)”


感谢您提前定义一个
外键

,引用的字段必须已索引

根据
外键
约束的文档:

参考tbl_名称(索引col_名称,…)

在表
po\u items
中的
item\u id
上定义一个
索引
,该索引应该有效

CREATE TABLE po_items (
job_id          CHAR(3) NOT NULL,
po_id           CHAR(3) NOT NULL,
item_id     CHAR(3) NOT NULL,
quantity        SMALLINT,
KEY (item_id),
PRIMARY KEY (job_id, po_id, item_id),
FOREIGN KEY (job_id, po_id) REFERENCES pos(job_id, po_id)
) ENGINE = INNODB;
请参阅

[约束[符号]]外键
[index\u name](index\u col\u name,…)
参考tbl\U名称(索引列名称,…)
[在删除参考_选项上]
[关于更新参考_选项]

参考选项:
限制|级联|设置为空|无操作


非常感谢Ravinder-我没有得到前面问题中的“关系参考”,这对我来说更清楚了
CREATE TABLE po_items (
job_id          CHAR(3) NOT NULL,
po_id           CHAR(3) NOT NULL,
item_id     CHAR(3) NOT NULL,
quantity        SMALLINT,
KEY (item_id),
PRIMARY KEY (job_id, po_id, item_id),
FOREIGN KEY (job_id, po_id) REFERENCES pos(job_id, po_id)
) ENGINE = INNODB;