php - SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

标签 php mysql cakephp

我在我的 web 项目中使用了 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.',
            ),
        ),

最佳答案

您似乎要将 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 上的疾病是什么,但这是另一个问题)。

关于php - SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460917/

相关文章:

php - 上传照片 codeigniter 未插入右列

mysql - mysql的奇怪行为

MySQL WHERE 子句整数与字母字符的比较仍然是积极的?

php - CakePHP 是否有特定的方法来重定向到刚刚添加的记录的 View ?

cakephp - 检查 CakePHP3 中是否存在记录

php - 简单的mysql选择

php 重新编译后加载 xcache.so 失败

php - .htaccess 密码保护登录后不显示 css 或图像

mysql - 为什么 1582 中的两个 MySQL 日期看起来相同,但比较结果是错误的?

php - 使用 CakePHP 从 MySQL 存储过程检索输出变量