When you execute a CREATE TABLE statement, SAP Sybase IQ automatically converts the data types to the corresponding MySQL data types using the following data type conversions.
| SAP Sybase IQ data type | MySQL default data type |
|---|---|
| BIT | bit(1) |
| VARBIT(n) | if (n <= 4000) varbinary(n) else longblob |
| LONG VARBIT | longblob |
| TINYINT | tinyint unsigned |
| SMALLINT | smallint |
| INTEGER | int |
| BIGINT | bigint |
| UNSIGNED TINYINT | tinyint unsigned |
| UNSIGNED SMALLINT | int |
| UNSIGNED INTEGER | bigint |
| UNSIGNED BIGINT | decimal(20,0) |
| CHAR(n) | if (n < 255) char(n) else if (n <= 4000) varchar(n) else longtext |
| VARCHAR(n) | if (n <= 4000) varchar(n) else longtext |
| LONG VARCHAR | longtext |
| NCHAR(n) | if (n < 255) national character(n) else if (n <= 4000) national character varying(n) else longtext |
| NVARCHAR(n) | if (n <= 4000) national character varying(n) else longtext |
| LONG NVARCHAR | longtext |
| BINARY(n) | if (n <= 4000) varbinary(n) else longblob |
| VARBINARY(n) | if (n <= 4000) varbinary(n) else longblob |
| LONG BINARY | longblob |
| DECIMAL(precision, scale) | decimal(precision, scale) |
| NUMERIC(precision, scale) | decimal(precision, scale) |
| SMALLMONEY | decimal(10,4) |
| MONEY | decimal(19,4) |
| REAL | real |
| DOUBLE | float |
| FLOAT(n) | float(n) |
| DATE | date |
| TIME | time |
| TIMESTAMP | datetime |
| TIMESTAMP WITH TIMEZONE | varchar(254) |
| XML | longblob |
| ST_GEOMETRY | longblob |
| UNIQUEIDENTIFIER | varbinary(16) |
Supply a connection string in the USING clause of the CREATE SERVER statement to connect to a MySQL database.
CREATE SERVER TestMySQL CLASS 'MYSQLODBC' USING 'DRIVER=MySQL ODBC 5.1 Driver;DATABASE=mydatabase;SERVER=mySQLHost;UID=me;PWD=secret'