خانه > doc > db-type-mapping 
 en fr de es it nl pl pt pt_BR mk sq ca hu cs tr ar id vi ko ja ru zh zh_TW eo
قبلی  بعدی  ویرایش  تغییر نام  واگرد  Search  سرپرستی  
مستندات  
اخطار! این صفحه ترجمه نشده است.  مشاهده نسخه انگلیسی 
Database Datatype Mapping
The database کامپوننت maintains a mapping between each گامباس datatype and each datatype of the underlying database driver.

Of course, this mapping is not bijective. Sometimes a گامباس datatype does not exist in the database system, and, more often, it is the contrary.

Because of that mapping, you must be very careful when you design your database. If you don't want any problem, be sure to always use the database manager provided with گامباس.

MySQL

The mapping for the MySQL database driver is the following:

گامباس datatype MySQL datatype Datatype used by default
Boolean BOOL
TINYINT (length = 1)
BOOL
Integer TINYINT (length > 1) SMALLINT
MEDIUMINT
INT
YEAR
INT
Long BIGINT BIGINT
Serial INT UNSIGNED NOT NULL AUTO_INCREMENT
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT
Float FLOAT
DOUBLE
DECIMAL
REAL
NUMERIC
DOUBLE
Date TIMESTAMP
DATE
TIME
DATETIME
DATETIME
Blob LONGBLOB
LONGTEXT
BLOB (length >= 16777216)
TEXT (length >= 16777216)
TEXT
String VARCHAR
BLOB (length < 16777216)
TEXT (length < 16777216)
All others.
VARCHAR if length <= 255.
TEXT otherwise.

MySQL makes no difference between a blob or a text field. So گامباس relies on the field length to decide if a field is a text field or a blob.

PostgreSQL

The mapping for the PostgreSQL database driver is the following:

گامباس datatype PostgreSQL datatype Datatype used by default
Boolean BOOL BOOL
Integer INT2
INT4
INT
INT
Long INT8
BIGINT
BIGINT
Serial BIGSERIAL BIGSERIAL
Float NUMERIC
FLOAT4
FLOAT8
FLOAT8
Date ABSTIME
RELTIME
DATE
TIME
TIMESTAMP
DATETIME
TIMESTAMPTZ
TIMESTAMP
Blob BYTEA BYTEA
String CHAR
BPCHAR
VARCHAR
TEXT
NAME
CASH
All others.
VARCHAR
TEXT for unlimited string fields.

SQLite

The mapping for the SQLite database driver is the following:

گامباس datatype SQLite datatype Datatype used by default
Boolean CHAR
TINYINT
INT1
BOOL
BOOL
Integer SMALLINT
INT2
MEDIUMINT
INT
INT4
INT4
Long INT8
BIGINT
BIGINT
Serial INTEGER INTEGER AUTOINCREMENT
Float DECIMAL
NUMERIC
DOUBLE
FLOAT8
REAL
FLOAT
FLOAT4
FLOAT8
Date DATE
TIME
TIMESTAMP
DATETIME
DATETIME
Blob BLOB BLOB
String CHAR()
CLOB
TEXT
VARCHAR
ENUM
SET
YEAR
All others.
VARCHAR
TEXT for unlimited string fields.

Firebird

ODBC