 <p>It appears the ruby-mysql gem supports this: <a href="https://github.com/tmtm/ruby-mysql/blob/master/lib/mysql.rb#L406-419" rel="nofollow">https://github.com/tmtm/ruby-mysql/blob/master/lib/mysql.rb#L406-419</a></p> <p>I assume it is processing this correctly. It says 'execute', but in reality it appears to simply be fetching the next set of results from a query that was already executed.</p> <pre><code> # execute next query if multiple queries are specified. # === Return # true if next query exists. def next_result return false unless more_results check_connection @fields = nil nfields = @protocol.get_result if nfields @fields = @protocol.retr_fields nfields @result_exist = true end return true end </code></pre> <p>There is reference to it here too: <a href="http://zetcode.com/db/mysqlrubytutorial/" rel="nofollow">http://zetcode.com/db/mysqlrubytutorial/</a> (Under 'Multiple Statements')</p>