MySQL建表后无法添加外键约束

标签 mysql foreign-keys

我不确定以下 MySQL 语句有什么问题。我已经创建了每个表,但是在运行以下语句时出现错误:

Error Code: 1215. Cannot add foreign key constraint

MySQL 语句:

/**
CREATE TABLE Episodes (
    season INT,
    num INT,
    title VARCHAR(50),
    director VARCHAR(50),
    viewers DECIMAL(2, 1),
    PRIMARY KEY (season, num)
);

CREATE TABLE Characters (
    name VARCHAR(50),
    house VARCHAR(50),
    PRIMARY KEY (name)
);
**/
CREATE TABLE Appearances (
    name VARCHAR(50),
    season VARCHAR(50),
    num INT,
    PRIMARY KEY (name, season, num),
    FOREIGN KEY (name) REFERENCES Characters(name),
    FOREIGN KEY (season) REFERENCES Episodes(season)
);

我在这里做错了什么?

最佳答案

愚蠢的错误,我与season的类型不一致。将 season 更改为 INT 类型修复了此错误。

关于MySQL建表后无法添加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58259415/

相关文章:

java - JPA - 字段的列数必须与引用的主键相同

PHP生成多个字符串并插入数据库

php - 如何在 php 中获取超过 x 行的特定列值?

mysql - 如何找到没有自动增量的表的行错误?

PHP 根据满足条件更改 MySQL 顺序

mysql - 外键索引

php - 外键链接在查询中两次引用同一个表

mysql - 需要对索引进行一些说明(WHERE、JOIN)

mysql - 嵌套模型上的 Django JOIN 带有查找字段的外键

sql-server - SQL Server 2008 - 多个级联 FK - 我需要触发器吗?