SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败

时间:2014-08-23 10:23:55

标签: php mysql cakephp

我在我的网络项目中使用cakePHP框架,似乎很多人之前已经提出了类似的问题。即使我尝试了那些我找不到答案的人。

这是我得到的错误'

数据库错误

Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`fit_or_fat`.`disease_suggestions`, CONSTRAINT `disease_suggestions_ibfk_1` FOREIGN KEY (`disease_id`) REFERENCES `diseases` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)

SQL Query: INSERT INTO `fit_or_fat`.`disease_suggestions` (`title`, `suggestion`, `disease_id`, `modified`, `created`) VALUES ('cholestorol', 'dddddddddddddddd', 'dd', '2014-08-24 00:04:32', '2014-08-24 00:04:32') 

这是我的模特

'disease_id' => array(
            'notEmpty' => array(
                'rule' => array('notEmpty'),
                'message' => 'disease_id must not be empty',
            ),
            'custom' => array(
                'rule' => '/[\w\s\d., \-_]+/',
                'message' => 'user_id can only contain simple and capital letters, 0-9 numbers, . , - _ space and tabs only.',
            ),
        ),

1 个答案:

答案 0 :(得分:0)

您似乎正在将dd添加到disease_id列。哪个有约束。大多数情况下,ID列是数字的。因此,此警告告诉您查询错误,或者特别尝试插入不允许的值。

INSERT INTO `fit_or_fat`.`disease_suggestions` (`title`, `suggestion`, `disease_id`, `modified`, `created`) VALUES ('cholestorol', 'dddddddddddddddd', 1, '2014-08-24 00:04:32', '2014-08-24 00:04:32') 

最有可能被允许(我不知道ID 1上有什么疾病,但这是另一个问题)。