无法添加外键约束,Mysql

时间:2018-07-29 08:52:08

标签: mysql foreign-keys

请您告诉我我做错了什么吗? 我有MySQl脚本,但最终我得到了

  

错误1215:无法添加外键约束

这是代码:

   CREATE TABLE IF NOT EXISTS profile_public_data
(
    idProfile INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    login VARCHAR(64),
    name VARCHAR(45),
    lastName VARCHAR(45),
    location VARCHAR(45),
    is_active BOOLEAN DEFAULT false,
    age TINYINT,
    photo VARCHAR(45),
    PRIMARY KEY(idProfile)
);

CREATE TABLE IF NOT EXISTS profile_private_data
(
    idProfile INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    CONSTRAINT fk_idProfile 
            FOREIGN KEY(idProfile) 
            REFERENCES `profile_public_data`(idProfile)
                ON DELETE SET NULL 
                ON UPDATE SET NULL,
    email VARCHAR(45),
    password VARCHAR(45),
    PRIMARY KEY(idProfile)
);

1 个答案:

答案 0 :(得分:1)

您将依赖表中的idProfile列设置为自动增量,这是不正确的。应该只是INT(11)。

在插入新记录时,必须指定它的值并且该值存在于源表中,而不是自动递增。