Mysql 向现有表添加外键约束

Mysql 向现有表添加外键约束,mysql,sql-server,foreign-keys,Mysql,Sql Server,Foreign Keys,我正在尝试向两个现有表添加外键约束。我已经阅读了MySQL文档和其他一些关于堆栈溢出的文章,但是出现了错误代码1215 有人能帮我确定我的问题/错误吗 以下是我现有的两个表: ---书 ---出版者 CREATE TABLE Publishers( pubID INT NOT NULL, name VARCHAR(60) NOT NULL, contact VARCHAR(20), phone VARCHAR(20) ); 这是我的另一份声明 ALTER TABLE Books A

我正在尝试向两个现有表添加外键约束。我已经阅读了MySQL文档和其他一些关于堆栈溢出的文章,但是出现了错误代码1215

有人能帮我确定我的问题/错误吗

以下是我现有的两个表:

---书

---出版者

CREATE TABLE Publishers(

pubID INT NOT NULL,

name VARCHAR(60) NOT NULL,

contact VARCHAR(20),

phone VARCHAR(20)

);
这是我的另一份声明

ALTER TABLE Books

ADD CONSTRAINT FK_pubID

FOREIGN KEY (pubID) REFERENCES Publishers(pubID);

我知道PubID在Books表中有一个大写字母p,在Publishers表中有一个较低的PubID,但我仍然不确定。

我猜您可能遗漏了这一位的副本“在引用表中,必须有一个索引,其中外键列按相同顺序列为第一列。”——-在发布服务器中为pubid添加密钥,
ALTER TABLE Books

ADD CONSTRAINT FK_pubID

FOREIGN KEY (pubID) REFERENCES Publishers(pubID);