Descriptions des fonctions C pour les requêtes préparées
<<<
Gestion des commandes multiples avec l'interface C Gestion des dates et horaires avec l'interface C
>>>

21.2 API MySQL C
21 API MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Types de données de l'API C
Vue d'ensemble des fonctions de l'API C
Description des fonctions de l'API C
Fonctions C de commandes préparées
Types de données de l'API C
Présentation des fonctions de l'interface C
Descriptions des fonctions C pour les requêtes préparées
->Gestion des commandes multiples avec l'interface C
Gestion des dates et horaires avec l'interface C
Description des fonctions threadées de C
Description des fonctions C du serveur embarqué
Questions courantes sur la bibliothèque C
Compiler les clients
Comment faire un client MySQL threadé
libmysqld , la bibliothèque du serveur embarqué MySQL

21.2.8 Gestion des commandes multiples avec l'interface C

Depuis la version 4.1, MySQL supporte l'exécution de requêtes multiples dans une seule commande. Pour cela, vous devez activer l'option client CLIENT_MULTI_QUERIES lors de l'ouverture de la connexion.

Par défaut, mysql_query() ou mysql_real_query() ne retournent que le statut de la première requête, et les statuts suivants peut être obtenu avec mysql_more_results() et mysql_next_result() .


/* Connexion au serveur, avec l'option CLIENT_MULTI_QUERIES */
  mysql_real_query(..., CLIENT_MULTI_QUERIES);

  /* Exécution de plusieurs requêtes */
  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";
  while (mysql_more_results(mysql))
  {
    /* Traitement de tous les résultats */
    mysql_next_result(mysql);
    ...
    printf("total affected rows: %lld", mysql_affected_rows(mysql));
    ...
    if ((result= mysql_store_result(mysql))
    {
      /* Retourne un résultat, le traite */
    }
  }

<< Gestion des commandes multiples avec l'interface C >>
Descriptions des fonctions C pour les requêtes préparées API MySQL C Gestion des dates et horaires avec l'interface C