This topic describes the column types that are supported for creating different constraints in a MySQL database and a MySQL tenant of OceanBase Database.
Supported types for a PRIMARY KEY column
The following table describes the column types that you can use to create a PRIMARY KEY
column by executing the CREATE TABLE DDL statement in a MySQL database and a MySQL tenant of OceanBase Database.
Column type in a MySQL database | Supported | Column type in a MySQL tenant of OceanBase Database | Supported |
INT | Yes | INTEGER | Yes |
TINYINT | Yes | TINYINT | Yes |
SMALLINT | Yes | SMALLINT | Yes |
MEDIUMINT | Yes | MEDIUMINT | Yes |
BIGINT | Yes | BIGINT | Yes |
BOOL | Yes | BOOLEAN | Yes |
DECIMAL | Yes | DECIMAL | Yes |
NUMERIC | Yes | NUMERIC | Yes |
REAL | Yes | FLOAT | Yes |
DOUBLE | Yes | DOUBLE | Yes |
FLOAT | Yes | FLOAT | Yes |
BIT | Yes | BIT | Yes |
CHAR | Yes | CHAR | Yes |
NCHAR | Yes | CHAR | Yes |
VARCHAR | Yes | VARCHAR | Yes |
BINARY | Yes | BINARY | Yes |
VARBINARY | Yes | VARBINARY | Yes |
LONG VARBINARY | Yes (You must specify the column length.) | BLOB | No |
YEAR | Yes | YEAR | Yes |
DATE | Yes | DATE | Yes |
TIME | Yes | TIME | Yes |
TIMESTAMP | Yes | TIMESTAMP | Yes |
DATETIME | Yes | DATETIME | Yes |
TINYBLOB | Yes (You must specify the column length.) | TINYBLOB | No |
MEDIUMBLOB | Yes (You must specify the column length.) | MEDIUMBLOB | No |
BLOB | Yes (You must specify the column length.) | BLOB | No |
LONGBLOB | Yes (You must specify the column length.) | LONGBLOB | No |
TINYTEXT | Yes (You must specify the column length.) | TINYTEXT | No |
MEDIUMTEXT | Yes (You must specify the column length.) | MEDIUMTEXT | No |
TEXT | Yes (You must specify the column length.) | TEXT | No |
LONGTEXT | Yes (You must specify the column length.) | LONGTEXT | No |
ENUM | Yes | ENUM | Yes |
SET | Yes | SET | Yes |
JSON | Yes | JSON | No |
Supported types for a UNIQUE KEY column
The column types that you can use to create a UNIQUE KEY
column by executing the CREATE TABLE DDL statement in a MySQL database and a MySQL tenant of OceanBase Database are the same as those that you can use to create a PRIMARY KEY column.
Supported types for a KEY column
The column types that you can use to create a KEY
column by executing the CREATE TABLE DDL statement in a MySQL database and a MySQL tenant of OceanBase Database are the same as those that you can use to create a PRIMARY KEY column.
Supported types for a FOREIGN KEY column
The column types that you can use to create a FOREIGN KEY
column by executing the CREATE TABLE DDL statement in a MySQL database and a MySQL tenant of OceanBase Database are the same as those that you can use to create a PRIMARY KEY column.
Supported types for a FULLTEXT indexed column
The following table describes the column types that you can use to create a FULLTEXT
indexed column by executing the CREATE TABLE DDL statement in a MySQL database and a MySQL tenant of OceanBase Database.
Column type in a MySQL database | Supported | Column type in a MySQL tenant of OceanBase Database | Supported |
INT | No | INTEGER | No |
TINYINT | No | TINYINT | No |
SMALLINT | No | SMALLINT | No |
MEDIUMINT | No | MEDIUMINT | No |
BIGINT | No | BIGINT | No |
BOOL | No | BOOLEAN | No |
DECIMAL | No | DECIMAL | No |
NUMERIC | No | NUMERIC | No |
REAL | No | FLOAT | No |
DOUBLE | No | DOUBLE | No |
FLOAT | No | FLOAT | No |
BIT | No | BIT | No |
CHAR | Yes | CHAR | Yes |
NCHAR | Yes | CHAR | Yes |
VARCHAR | Yes | VARCHAR | Yes |
BINARY | No | BINARY | Yes |
VARBINARY | No | VARBINARY | Yes |
LONG VARBINARY | No | BLOB | No |
YEAR | No | YEAR | No |
DATE | No | DATE | No |
TIME | No | TIME | No |
TIMESTAMP | No | TIMESTAMP | No |
DATETIME | No | DATETIME | No |
TINYBLOB | No | TINYBLOB | No |
MEDIUMBLOB | No | MEDIUMBLOB | No |
BLOB | No | BLOB | No |
LONGBLOB | No | LONGBLOB | No |
TINYTEXT | Yes | TINYTEXT | Yes |
MEDIUMTEXT | Yes | MEDIUMTEXT | Yes |
TEXT | Yes | TEXT | Yes |
LONGTEXT | Yes | LONGTEXT | Yes |
ENUM | No | ENUM | No |
SET | No | SET | No |
JSON | Yes | JSON | No |