mysql - 在 MySQL 中的两个表之间定义外键时遇到问题

标签 mysql foreign-keys

Error Code: 1215. Cannot add foreign key constraint

我不确定我在哪里遇到这个问题,这是有问题的两个表格,任何帮助将不胜感激!

CREATE TABLE IF NOT EXISTS `PHL_db`.`Session` (
  `year` INT NOT NULL,
  `season` VARCHAR(50) NOT NULL,
  `division` VARCHAR(25) NOT NULL,
  PRIMARY KEY (`year`, `season`, `division`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `PHL_db`.`Team` (
  `name` VARCHAR(100) NOT NULL DEFAULT 'Free Agent',
  `Session_season` VARCHAR(50) NOT NULL,
  `Session_year` INT NOT NULL,
  `Session_division` VARCHAR(25) NOT NULL,
  PRIMARY KEY (`name`, `Session_season`, `Session_year`, `Session_division`),
    FOREIGN KEY (`Session_season` , `Session_year` , `Session_division`)
    REFERENCES `PHL_db`.`Session` ( `year`, `season` , `division`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

最佳答案

您正在尝试将主键设为外键,其中主键不能用作同一表上的外键。

关于mysql - 在 MySQL 中的两个表之间定义外键时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337693/

相关文章:

php - Laravel 4 - 迁移和外键问题

mysql - SQL 外键约束错误 1215

php - 我如何自动化 EXCEL 工作表、Mysql 和 XML 交互

php - 存储过程不工作php mysql

mysql - 在两台不同的电脑上处理同一个数据库

mysql - 仅当这些行超过一定数量时才从数据库中选择行

mysql - Sphinx 时间戳函数

sql - 类表继承模型的 INSERT 语句

mysql - 添加外键时出现问题

mysql - EF5 :could not be created because the principal key columns could not be determined. 使用 AddForeignKey 流畅 API 完全指定外键