如果外键失败,Mysql忽略插入

标签 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 不存在。所以我想当外键检查失败时忽略插入并返回 0 个受影响的行,但是这段代码显示错误

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

最佳答案

如果你使用 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){}

关于如果外键失败,Mysql忽略插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973648/

相关文章:

mysql - 组合两个具有不同位置的 SQL 查询并返回唯一行

mysql - 将自定义字符串传递到 MariaDB/MySQL C 连接器 API 函数时出现 "unknown column in field list"错误

Mysql JOIN 多个带有经纬度的表

php - 使用 MySQL + PHP 更新多个变量

MySQL 5.0.11 错误代码 #1215 : cannot add foreign key constraint

foreign-keys - TypeORM:如何显式设置ForeignKey而没有用于加载关系的属性?

mysql - 正确的解决方法 - DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

mysql - 表别名在 mysql 中不起作用

sql - 从 PostgreSQL 中的 unix 时间中提取年份

php - 在搜索其中一个元素时合并表格