Rechercher dans le manuel MySQL
28.7.9.1 C API Prepared Statement Type Codes
The buffer_type
member of
MYSQL_BIND
structures indicates the data type
of the C language variable bound to a statement parameter or
result set column. For input, buffer_type
indicates the type of the variable containing the value to be
sent to the server. For output, it indicates the type of the
variable into which a value received from the server should be
stored.
The following table shows the permissible values for the
buffer_type
member of
MYSQL_BIND
structures for input values sent
to the server. The table shows the C variable types that you can
use, the corresponding type codes, and the SQL data types for
which the supplied value can be used without conversion. Choose
the buffer_type
value according to the data
type of the C language variable that you are binding. For the
integer types, you should also set the
is_unsigned
member to indicate whether the
variable is signed or unsigned.
Input Variable C Type | buffer_type Value |
SQL Type of Destination Value |
---|---|---|
signed char |
MYSQL_TYPE_TINY |
TINYINT |
short int |
MYSQL_TYPE_SHORT |
SMALLINT |
int |
MYSQL_TYPE_LONG |
INT |
long long int |
MYSQL_TYPE_LONGLONG |
BIGINT |
float |
MYSQL_TYPE_FLOAT |
FLOAT |
double |
MYSQL_TYPE_DOUBLE |
DOUBLE |
MYSQL_TIME |
MYSQL_TYPE_TIME |
TIME |
MYSQL_TIME |
MYSQL_TYPE_DATE |
DATE |
MYSQL_TIME |
MYSQL_TYPE_DATETIME |
DATETIME |
MYSQL_TIME |
MYSQL_TYPE_TIMESTAMP |
TIMESTAMP |
char[] |
MYSQL_TYPE_STRING |
TEXT ,
CHAR ,
VARCHAR |
char[] |
MYSQL_TYPE_BLOB |
BLOB ,
BINARY ,
VARBINARY |
MYSQL_TYPE_NULL |
NULL |
Use MYSQL_TYPE_NULL
as indicated in the
description for the is_null
member in
Section 28.7.9, “C API Prepared Statement Data Structures”.
For input string data, use MYSQL_TYPE_STRING
or MYSQL_TYPE_BLOB
depending on whether the
value is a character (nonbinary) or binary string:
MYSQL_TYPE_STRING
indicates character input string data. The value is assumed to be in the character set indicated by thecharacter_set_client
system variable. If the server stores the value into a column with a different character set, it converts the value to that character set.MYSQL_TYPE_BLOB
indicates binary input string data. The value is treated as having thebinary
character set. That is, it is treated as a byte string and no conversion occurs.
The following table shows the permissible values for the
buffer_type
member of
MYSQL_BIND
structures for output values
received from the server. The table shows the SQL types of
received values, the corresponding type codes that such values
have in result set metadata, and the recommended C language data
types to bind to the MYSQL_BIND
structure to
receive the SQL values without conversion. Choose the
buffer_type
value according to the data type
of the C language variable that you are binding. For the integer
types, you should also set the is_unsigned
member to indicate whether the variable is signed or unsigned.
SQL Type of Received Value | buffer_type Value |
Output Variable C Type |
---|---|---|
TINYINT |
MYSQL_TYPE_TINY |
signed char |
SMALLINT |
MYSQL_TYPE_SHORT |
short int |
MEDIUMINT |
MYSQL_TYPE_INT24 |
int |
INT |
MYSQL_TYPE_LONG |
int |
BIGINT |
MYSQL_TYPE_LONGLONG |
long long int |
FLOAT |
MYSQL_TYPE_FLOAT |
float |
DOUBLE |
MYSQL_TYPE_DOUBLE |
double |
DECIMAL |
MYSQL_TYPE_NEWDECIMAL |
char[] |
YEAR |
MYSQL_TYPE_SHORT |
short int |
TIME |
MYSQL_TYPE_TIME |
MYSQL_TIME |
DATE |
MYSQL_TYPE_DATE |
MYSQL_TIME |
DATETIME |
MYSQL_TYPE_DATETIME |
MYSQL_TIME |
TIMESTAMP |
MYSQL_TYPE_TIMESTAMP |
MYSQL_TIME |
CHAR ,
BINARY |
MYSQL_TYPE_STRING |
char[] |
VARCHAR ,
VARBINARY |
MYSQL_TYPE_VAR_STRING |
char[] |
TINYBLOB ,
TINYTEXT |
MYSQL_TYPE_TINY_BLOB |
char[] |
BLOB , TEXT |
MYSQL_TYPE_BLOB |
char[] |
MEDIUMBLOB ,
MEDIUMTEXT |
MYSQL_TYPE_MEDIUM_BLOB |
char[] |
LONGBLOB ,
LONGTEXT |
MYSQL_TYPE_LONG_BLOB |
char[] |
BIT |
MYSQL_TYPE_BIT |
char[] |
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-c-api-prepared-statement-type-codes.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.