程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL 一次履行多條語句的完成及罕見成績

MySQL 一次履行多條語句的完成及罕見成績

編輯:MySQL綜合教程

MySQL 一次履行多條語句的完成及罕見成績。本站提示廣大學習愛好者:(MySQL 一次履行多條語句的完成及罕見成績)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 一次履行多條語句的完成及罕見成績正文


MySQL是支撐在單個查詢字符串中指定多語句履行的,應用辦法是給鏈接指定參數:

//鏈接時設定
mysql_real_connect( ..., CLIENT_MULTI_STATEMENTS );
//或許
//半途指定
mysql_set_server_option( mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON ); //mysql是銜接的稱號

當應用履行多語句功效後,必定要讀完全個resault集,不然會湧現毛病:Commands out of sync; you can't run this command now
官方推舉的履行語句是如許的:

do
{
    /* Process all results */
    ...
    printf( "total affected rows: %lld", mysql_affected_rows( mysql ) );
    ...
    if( !( result mysql_store_result( mysql ) ) )
    {
        printf( stderr, "Got fatal error processing query\n" );
        exit(1);
    }
    process_result_set(result);    /* client function */
    mysql_free_result(result);
}while( !mysql_next_result( mysql ) );

假如僅僅是拔出等不須要前往值的SQL語句,也一樣得讀完全個resault集並釋放,最小化的寫法:

do
{
    result = mysql_store_result( mysql );
    mysql_free_result(result);
}while( !mysql_next_result( mysql ) );
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved