完整性约束违规:1452但是这些记录存在于父表中并且#39;

时间:2015-04-08 19:22:00

标签: php mysql

我再次与php和mysql战斗。我一直遇到SQL违规错误:

SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(insightsproposal,CONSTRAINT proposal_ibfk_1 FOREIGN KEY({{ 1}})参考course_codecourse_details))

然而,当我从一个准备在我的插入查询中使用的php表单序列化信息时,我遇到了这个SQL错误。我知道course_code和user_record_id不是问题因为我已经使用PhpMyAdmin手动插入了这些并且它已成功添加了记录。

表单中的值也可以。我已经使用var_dump来查看变量中保存的内容是否正确。

提案表的结构:

course_code

我的插入查询:

--
-- Table structure for table `proposal`
--

DROP TABLE IF EXISTS `proposal`;
CREATE TABLE IF NOT EXISTS `proposal` (
`proposal_id` int(11) NOT NULL,
  `source` enum('Student','Supervisor','Other') NOT NULL,
  `proposal_title` text NOT NULL,
  `description` text NOT NULL,
  `date_added` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `course_code` int(11) NOT NULL,
  `user_record_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

--
-- RELATIONS FOR TABLE `proposal`:
--   `course_code`
--       `course_details` -> `course_code`
--   `user_record_id`
--       `user` -> `user_record_id`
--

ALTER TABLE `proposal`
 ADD PRIMARY KEY (`proposal_id`), ADD KEY `course_code` (`course_code`,`user_record_id`), ADD KEY `user_record_id` (`user_record_id`);

ALTER TABLE `proposal`
ADD CONSTRAINT `proposal_ibfk_1` FOREIGN KEY (`course_code`) REFERENCES `course_details` (`course_code`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `proposal_ibfk_2` FOREIGN KEY (`user_record_id`) REFERENCES `user` (`user_record_id`) ON DELETE CASCADE ON UPDATE CASCADE;

任何人都知道为什么会出现问题和可能的解决方法吗?

由于

0 个答案:

没有答案