请你能告诉我我做错了吗?
我有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)
);

最佳答案

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

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

关于mysql - 无法添加外键约束,Mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51578715/

10-11 07:44