## MySQL Backend Reference * [Prerequisites](#prerequisites) * [Supported Versions](#versions) * [Tested Platforms](#tested) * [Required Client Libraries](#required) * [Connecting to the Database](#connecting) * [SOCI Feature Support](#support) * [Dynamic Binding](#dynamic) * [Binding by Name](#name) * [Bulk Operations](#bulk) * [Transactions](#transactions) * [BLOB Data Type](#blob) * [RowID Data Type](#rowid) * [Nested Statements](#nested) * [Stored Procedures](#stored) * [Accessing the Native Database API](#native) * [Backend-specific Extensions](#extensions) * [Configuration options](#configuration) ### Prerequisites #### Supported Versions The SOCI MySQL backend should in principle work with every version of MySQL 5.x. Some of the features (transactions, stored functions) are not available when MySQL server doesn't support them. #### Tested Platforms
| MySQL version | Operating System | Compiler |
|---|---|---|
| 5.5.28 | OS X 10.8.2 | Apple LLVM version 4.2 (clang-425.0.24) |
| 5.0.96 | Ubuntu 8.04.4 LTS (Hardy Heron) | g++ (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4) |
| MySQL Data Type | SOCI Data Type | row::get<T> specializations |
|---|---|---|
| FLOAT, DOUBLE, DECIMAL and synonyms | dt_double |
double |
| TINYINT, TINYINT UNSIGNED, SMALLINT, SMALLINT UNSIGNED, INT | dt_integer |
int |
| INT UNSIGNED | dt_long_long |
long long or unsigned |
| BIGINT | dt_long_long |
long long |
| BIGINT UNSIGNED | dt_unsigned_long_long |
unsigned long long |
| CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, TINYTEXT, MEDIUMTEXT, TEXT, LONGTEXT, ENUM | dt_string |
std::string |
| TIMESTAMP (works only with MySQL >= 5.0), DATE, TIME, DATETIME | dt_date |
std::tm |
| Accessor Function | Concrete Class |
|---|---|
session_backend * session::get_backend() |
mysql_session_backend |
statement_backend * statement::get_backend() |
mysql_statement_backend |