如果外键失败,Mysql会忽略insert

时间:2016-03-13 17:51:17

标签: mysql sql foreign-keys

我有以下查询:

INSERT IGNORE INTO `article_comments` (`comment`, `user_id`, `parent_id`, `article_id`, `date`)
VALUES ('dddddddddddddddddddddd', 5, 9999, 102, '2016-03-13 17:42:19')

parent_id 9999失败外键导致id为9999不存在。所以我想在外键检查失败时只是忽略insert并返回0个受影响的行,但是这段代码显示错误

#1452 - Cannot add or update a child row: a foreign key constraint fails

1 个答案:

答案 0 :(得分:0)

如果您使用php,您可以执行以下操作:

try{
$db->exec('INSERT IGNORE INTO `article_comments` (`comment`, `user_id`, `parent_id`, `article_id`, `date`)
VALUES ('dddddddddddddddddddddd', 5, 9999, 102, '2016-03-13 17:42:19')');
}
catch($e){}