无法添加外键约束 mysql

Cannot add foreign key constraint mysql

有谁知道为什么我在这个查询中总是收到这个错误。我很难过:

Error Code: 1215. Cannot add foreign key constraint

我的代码:

CREATE TABLE countries (
  id INT NOT NULL AUTO_INCREMENT,
  cname VARCHAR(45) NOT NULL,
  PRIMARY KEY (id)
) COMMENT='Country List';

CREATE TABLE members (
  id INT NOT NULL AUTO_INCREMENT,
  FirstName VARCHAR(50) NOT NULL,
  LastName VARCHAR(50) NOT NULL,
  Salt VARCHAR(45),
  PRIMARY KEY (id),
  FOREIGN KEY (Salt) REFERENCES countries(cname)
) COMMENT='stuff';

外键必须引用主键或唯一键。例如,您可以使 countries.cname 唯一:

CREATE TABLE countries (
  id INT NOT NULL AUTO_INCREMENT,
  cname VARCHAR(45) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE (cname) -- Here
) COMMENT='Country List';

或者,您可以删除 salt 列并通过 id:

进行引用
CREATE TABLE members (
  id INT NOT NULL AUTO_INCREMENT,
  FirstName VARCHAR(50) NOT NULL,
  LastName VARCHAR(50) NOT NULL,
  Salt_id INT, -- Here
  PRIMARY KEY (id),
  FOREIGN KEY (Salt_Id) REFERENCES countries(id) -- And here
) COMMENT='stuff';