我有很大的问题。我有2个相关的表格:家长和孩子,这是由小学和foireign密钥相关。在MYSQL表中插入数据错误
主表:
CREATE TABLE `project_main` (
`ProjectMainId` int(11) NOT NULL,
`ProjectTitle` varchar(150) DEFAULT NULL,
`ProjectShortTitle` varchar(50) DEFAULT NULL,
`ProjectIntroduction` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
子表:
CREATE TABLE `project_detail` (
`ProjectDetailId` int(11) NOT NULL,
`ProjectProtocolNumber` int(11) DEFAULT NULL,
`ProjectNumberPatients` int(11) DEFAULT NULL,
`ProjectNumberSites` int(11) DEFAULT NULL
`ProjectMainId` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
当我尝试将数据插入父表中,MySQL表示:
1452 - 不能添加或更新子行:外键约束失败(ctb_db.project_main,CONSTRAINT project_main_ibfk_1 外键(ProjectMainId)参考project_detail (ProjectMainId))
这件事情不发生在MSSQL数据库 :(
问候, Vasko
您发布的表创建代码没有定义任何外键,请将该定义添加到您的 – arkascha
ALTER TABLE'project_main' ADD CONSTRAINT'project_main_ibfk_1' FOREIGN KEY('ProjectMainId')REFERENCES'project_detail'('ProjectMainId'), –
请不要在注释中添加其他信息将它们添加到问题本身的问题下面有一个编辑链接_使用它_ – arkascha