Chapter 19. C Reference
MySQL C API
The MySQL C API uses several defined datatypes beyond the standard C types. These types are defined in the `mysql.h’ header file that must be included when compiling any program that uses the MySQL library.
Datatypes
MYSQL
A structure representing a connection to the database server. The elements of the structure contain the name of the current database and information about the client connection among other things.
MYSQL_FIELD
A structure containing all of the information concerning a specific field in the table. Of all of the types created for MySQL, this is the only one whose member variables are directly accessed from client programs. Therefore it is necessary to know the layout of the structure:
- char *name
The name of the field.
- char *table
The name of the table containing this field. For result sets that do not correspond to real tables, this value is null.
- char *def
The default value of this field, if one exists. This value will always be null unless
mysql_list_fields
is called, after which this will have the correct value for fields that have defaults.- enum enum
_f
ield_types type The type of the field. The type is one of the MySQL SQL datatypes.
- unsigned int length
The size of the field based on the field’s type.
- unsigned int max_length
If accessed after calling
mysql_list_fields
, this contains the length of the maximum value contained in the current result set.- unsigned int flags
Zero or more option flags. The following flags are currently defined:
NOT_NULL_FLAG ...
Get MySQL and mSQL now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.