一存储过程,其中有select操作,执行的时候出现1312错误,不能在给定场景中返回记录集。解决方法为在连接mysql的时候添加CLIENT_MULTI_RESULTS 或 CLIENT_MULTI_STATEMENTS选项
This is not a bug but correct and documented behavior:
If you write C programs that execute stored procedures with the CALL SQL statement, you
must set the CLIENT_MULTI_RESULTS flag when you call mysql_real_connect(), either
explicitly, or implicitly by setting CLIENT_MULTI_STATEMENTS. This is because each CALL
returns a result to indicate the call status, in addition to any results sets that might
be returned by statements executed within the procedure. To process the result of a CALL
statement, use a loop that calls mysql_next_result() to determine whether there are more
results. For an example, see Section 22.2.9, “C API Handling of Multiple Statement
Execution”.