MySQL C API在子查询返回超过1行时出错失败



从mysql终端:

SELECT 1, (SELECT user_id FROM users);

错误1242(21000(:子查询返回超过1行

在C代码中:

ret = mysql_query("SELECT 1, (SELECT user_id FROM users)");
printf("Ret is %dn", ret); // -->  "Ret is 0"

这是mysql C api中的一个错误吗?我无法从该查询中获得任何错误信息。CCD_ 1和CCD_。就API而言,查询运行成功。

在调用mysql_store_result之前不会报告此错误。

ret = mysql_query(con, "SELECT 1, (SELECT user_id FROM users)");
printf("Ret is %dn", ret); // -->  "Ret is 0"
MYSQL_RES *result = mysql_store_result(con);
if (result == NULL) {
printf("Error is %s", mysql_error(con); // prints "Subquery returns more than 1 row"
}

最新更新