我再次与php和mysql战斗。我一直遇到SQL违规错误:
SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(insights
。proposal
,CONSTRAINT proposal_ibfk_1
FOREIGN KEY({{ 1}})参考course_code
(course_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;
任何人都知道为什么会出现问题和可能的解决方法吗?
由于