MYSQL外键约束失败

时间:2015-03-09 22:31:42

标签: mysql

所以我有两个表和两个数据集:

CREATE TABLE IF NOT EXISTS Users (
    email VARCHAR(50) NOT NULL,
    firstName VARCHAR(50),
    lastName VARCHAR(50),
    password VARCHAR(50) NOT NULL,
    age INTEGER,
    gender CHAR(1) NOT NULL,
    city VARCHAR(50),
    PRIMARY KEY(email)
    );

CREATE TABLE Ratings (
    email VARCHAR(50),
    title VARCHAR(50),
    year INTEGER,
    rating INTEGER,
    PRIMARY KEY (email, title, year),
    FOREIGN KEY (email)
    REFERENCES Users(email)
    ON DELETE NO ACTION
    ON UPDATE CASCADE
    );

我的数据集看起来像这样。第一个加载到用户,第二个加载到评级。

alice@def.com   Alice   Wonderland  alice   21  F   Massachusetts
bob@abc.com Bob Dylan   bdbdbd  50  M   New York

=============================================== ========================

alice@def.com   The Shawshank Redemption    1994    6
alice@def.com   The Dark Knight Rises   2012    10

我正确加载了用户的数据,但在加载评级数据时,mysql表示外键引用上的外键约束失败。我不知道为什么会这样,而且我已经搜索了几个小时......有什么见解?

数据由\ t分隔。我加载数据本地infile ...字段由\ t终止,它在这方面工作正常。它看起来很奇怪。

编辑。

** 所以我至少可以一次插入一个,所以也许它可以     加载数据本地infile ?

1 个答案:

答案 0 :(得分:0)

只是猜测,但您确定评级中的电子邮件地址是否存在于用户中?