Cette structure représente un gestionnaire de connexion à la base de données. Elle est utilisée dans la plupart des fonctions MySQL.
            Cette structure représente le résultat d'une requête qui
            retourne des lignes (SELECT,
            SHOW, DESCRIBE,
            EXPLAIN). L'information retournée par
            une requête est appelée jeu de
            résultats dans le reste de cette section.
          
            C'est une représentation sûre pour les types d'une ligne
            de données. Elle est actuellement implémentée en tant que
            tableau de chaîne à octets comptés. (Vous ne pouvez la
            traiter en tant que chaîne terminée par une valeur nulle
            si les valeurs du champ peuvent contenir des données
            binaires, car de telles valeurs peuvent contenir
            elles-mêmes des octets nuls.) Les lignes sont obtenues en
            appelant mysql_fetch_row().
          
            Cette structure contient des informations à propos du
            champ, tel que son nom, son type, et sa taille. Ses membres
            sont décrit en plus de détails ici. Vous pouvez obtenir
            une structure MYSQL_FIELD pour chaque
            champ en appelant plusieurs fois
            mysql_fetch_field(). Les valeurs des
            champs ne font pas partie de la structure; elles sont
            contenues dans une structure MYSQL_ROW.
          
            C'est une représentation sûre des types pour les index
            dans une liste de champs MySQL. (Utilisés par
            mysql_field_seek().) Les index sont des
            numéros de champs, dans une ligne, commen¸ant à zéro.
          
            my_ulonglong
          
            Le type utilisé pour le nombre de lignes et pour
            mysql_affected_rows(),
            mysql_num_rows(), et
            mysql_insert_id(). Ce type fournit une
            échelle allant de 0 à
            1.84e19.
          
            Sur quelques systèmes, essayer d'écrire la valeur d'un
            type my_ulonglong ne fonctionnera pas.
            Pour écrire une telle valeur, convertissez là en
            unsigned long et utilisez un format
            d'impression %lu. Exemple :
printf ("Nombre de lignes : %lu\n", (unsigned long) mysql_num_rows(result));
        La structure MYSQL_FIELD contient les membres
        listés ici :
      
            char * name
          
Le nom du champ, une chaîne terminée par une valeur nulle.
            char * table
          
            Le nom de la table contenant ce champ, s'il n'est pas
            calculé. Pour les champs calculés, la valeur de
            table est une chaîne vide.
          
            char * def
          
            La valeur par défaut de ce champ, en tant que chaîne
            terminée par une valeur nulle. Ce n'est définit que si
            vous utilisez mysql_list_fields().
          
            enum enum_field_types type
          
            Le type du champ. La valeur de type peut
            être l'une des suivantes :
          
| Valeur de type | Description du type | 
| FIELD_TYPE_TINY | Champ TINYINT | 
| FIELD_TYPE_SHORT | Champ SMALLINT | 
| FIELD_TYPE_LONG | Champ INTEGER | 
| FIELD_TYPE_INT24 | Champ MEDIUMINT | 
| FIELD_TYPE_LONGLONG | Champ BIGINT | 
| FIELD_TYPE_DECIMAL | Champ DECIMALouNUMERIC | 
| FIELD_TYPE_FLOAT | Champ FLOAT | 
| FIELD_TYPE_DOUBLE | Champ DOUBLEouREAL | 
| FIELD_TYPE_TIMESTAMP | Champ TIMESTAMP | 
| FIELD_TYPE_DATE | Champ DATE | 
| FIELD_TYPE_TIME | Champ TIME | 
| FIELD_TYPE_DATETIME | Champ DATETIME | 
| FIELD_TYPE_YEAR | Champ YEAR | 
| FIELD_TYPE_STRING | Champ chaîne de caractères ( CHARouVARCHAR) | 
| FIELD_TYPE_VAR_STRING | Champ VARCHAR | 
| FIELD_TYPE_BLOB | Champ BLOBouTEXT(utilisezmax_lengthpour déterminer la
                    taille maximale) | 
| FIELD_TYPE_SET | Champ SET | 
| FIELD_TYPE_ENUM | Champ ENUM | 
| FIELD_TYPE_NULL | Champ de type NULL | 
| FIELD_TYPE_CHAR | Désapprouvé, utilisez FIELD_TYPE_TINYà la place | 
            Vous pouvez utiliser la macro IS_NUM()
            pour tester si un champ est de type numérique ou non.
            Passez la valeur de type à
            IS_NUM() et elle sera évaluée à TRUE
            si le champ est numérique :
          
if (IS_NUM(field->type))
    printf("Le champ est numérique\n");
            unsigned int length
          
La taille du champ, comme spécifié dans la définition de la table.
            unsigned int max_length
          
            La longueur maximale du champ pour le jeu de résultats (la
            taille de la plus longue valeur de champ actuellement dans
            le jeu de résultat). Si vous utilisez
            mysql_store_result() ou
            mysql_list_fields(), cela contient la
            longueur maximale pour le champ. Si vous utilisez
            mysql_use_result(), la valeur de cette
            variable est zéro.
          
            unsigned int flags
          
            Les différents attributs sous forme de bits pour le champ.
            La valeur de flags peut avoir zéro ou
            plusieurs de ces bits suivants activés :
          
| Valeur d'attribut | Description d'attribut | 
| NOT_NULL_FLAG | Le champ ne peut être NULL | 
| PRI_KEY_FLAG | Le champ fait parti d'une clef primaire | 
| UNIQUE_KEY_FLAG | Le champ fait parti d'une clef unique | 
| MULTIPLE_KEY_FLAG | Le champ fait parti d'une clef non-unique | 
| UNSIGNED_FLAG | Le champ possède l'attribut UNSIGNED | 
| ZEROFILL_FLAG | Le champ possède l'attribut ZEROFILL | 
| BINARY_FLAG | Le champ possède l'attribut BINARY | 
| AUTO_INCREMENT_FLAG | Le champ possède l'attribut AUTO_INCREMENT | 
| ENUM_FLAG | Le champ est un ENUM(désapprouvé) | 
| SET_FLAG | Le champ est un SET(désapprouvé) | 
| BLOB_FLAG | Le champ est un BLOBouTEXT(désapprouvé) | 
| TIMESTAMP_FLAG | Le champ est un TIMESTAMP(désapprouvé) | 
            L'utilisation des attributs BLOB_FLAG,
            ENUM_FLAG, SET_FLAG,
            et TIMESTAMP_FLAG est désapprouvé car
            ils indiquent un type de champ plutôt qu'un attribut de
            type de champ. Il est préférable de tester
            field->type avec
            FIELD_TYPE_BLOB,
            FIELD_TYPE_ENUM,
            FIELD_TYPE_SET, ou
            FIELD_TYPE_TIMESTAMP à la place.
          
            L'exemple suivant illustre une utilisation typique de la
            valeur de flags :
          
if (field->flags & NOT_NULL_FLAG)
    printf("Le champ ne peut être nul\n");
Vous pouvez utiliser les différentes macros ci-dessous pour déterminer le statut booléen de la valeur de l'attribut :
| Statut de l'attribut | Description | 
| IS_NOT_NULL(flags) | Vrai si le champ est défini en tant que NOT NULL | 
| IS_PRI_KEY(flags) | Vrai si le champ est une clef primaire | 
| IS_BLOB(flags) | Vrai si le champ est un BLOBouTEXT(désapprouvé; tester
                    plutôtfield->type) | 
            unsigned int decimals
          
Le nombre de décimales pour les champs numériques.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

