如何让 mysql 在没有匹配行的情况下在更新时抛出错误?
How to get mysql to throw an error on update for no rows matched?
我想知道 UPDATE
查询何时报告 0 行匹配。我正在使用 libmysql
。
这是我使用的代码:
char query[300] = {0};
snprintf(query, 300, "UPDATE `my_table` SET name='%s' WHERE id=%d",
name, id);
if (mysql_query(db, query)) {
printf("Error!\n");
}
基本上我需要知道的是是否有 id
的匹配项。我知道我可以通过 select 来检查,但是还有其他方法吗?
勾选mysql_affected_rows。这将 return 上次查询修改的行数。
但是,它可能 return 只是实际修改的行。如果要 return 匹配行,则必须在 mysql_real_connect
中指定 CLIENT_FOUND_ROWS
。查看同一页面了解详情。
我想知道 UPDATE
查询何时报告 0 行匹配。我正在使用 libmysql
。
这是我使用的代码:
char query[300] = {0};
snprintf(query, 300, "UPDATE `my_table` SET name='%s' WHERE id=%d",
name, id);
if (mysql_query(db, query)) {
printf("Error!\n");
}
基本上我需要知道的是是否有 id
的匹配项。我知道我可以通过 select 来检查,但是还有其他方法吗?
勾选mysql_affected_rows。这将 return 上次查询修改的行数。
但是,它可能 return 只是实际修改的行。如果要 return 匹配行,则必须在 mysql_real_connect
中指定 CLIENT_FOUND_ROWS
。查看同一页面了解详情。