mysql - 无法添加外键约束,Mysql

标签 mysql foreign-keys

请你告诉我我做错了什么吗? 我有 MySQl 脚本,但最后我得到了这个

Error 1215: Cannot add foreign key constraints

这里是代码:

   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/

相关文章:

mysql - MyISAM 的 Django 外键完整性

SQL ON DELETE CASCADE 不起作用

mysql - 我需要帮助从我的数据库中导出一个 sql 文件

mysql - 创建 ID 介于 1-999999 之间的数据库

php - 我无法显示查询结果是否为空

php - MySQL 无法插入带有外键的记录?

mysql - 每天mysqldump的批处理脚本

php - 如何检索同兴趣用户的状态 Mysql查询问题

mysql - phpmyadmin 版本 4 : Relation view sometimes does not show foreign key constraints

python - Django:如何获取外键ID?