DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info.gz) C API multiple queries

Info Catalog (mysql.info.gz) C API Prepared statement problems (mysql.info.gz) C (mysql.info.gz) C API date handling
 
 22.2.9 C API Handling of Multiple Query Execution
 -------------------------------------------------
 
 From version 4.1, MySQL supports the execution of multiple statements
 specified in a single query string. To use this capability with a given
 connection, you must specify the `CLIENT_MULTI_STATEMENTS' option in
 the flags parameter of `mysql_real_connect()' when opening the
 connection.  You can also set this for an existing connection by
 calling `mysql_set_server_option(MYSQL_OPTION_MULTI_STATEMENTS_ON)'
 
 By default, `mysql_query()' and `mysql_real_query()' return only the
 first query status and the subsequent queries status can be processed
 using `mysql_more_results()' and `mysql_next_result()'.
 
 
      /* Connect to server with option CLIENT_MULTI_STATEMENTS */
      mysql_real_connect(..., CLIENT_MULTI_STATEMENTS);
 
      /* Now execute multiple queries */
      mysql_query(mysql,"DROP TABLE IF EXISTS test_table;\
                         CREATE TABLE test_table(id INT);\
                         INSERT INTO test_table VALUES(10);\
                         UPDATE test_table SET id=20 WHERE id=10;\
                         SELECT * FROM test_table;\
                         DROP TABLE test_table");
      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));
 
Info Catalog (mysql.info.gz) C API Prepared statement problems (mysql.info.gz) C (mysql.info.gz) C API date handling
automatically generated byinfo2html