我正在尝试通过最常用的数据库找到relate column types的一些方法:MySQL,PostgreSQL和SQLite。比较MySQL,PostgreSQL和SQLite中的数据库列类型? (交叉映射)
这是我到目前为止,但我恐怕没有完成,我需要一些有更多经验的人来帮助我完成任何缺失的类型。事情我会做不同的
MySQL PostgreSQL SQLite
TINYINT SMALLINT INTEGER
SMALLINT SMALLINT
MEDIUMINT INTEGER
BIGINT BIGINT
BIT BIT INTEGER
_______________________________________________________
TINYINT UNSIGNED SMALLINT INTEGER
SMALLINT UNSIGNED INTEGER
MEDIUMINT UNSIGNED INTEGER
INT UNSIGNED BIGINT
BIGINT UNSIGNED NUMERIC(20)
_______________________________________________________
DOUBLE DOUBLE PRECISION REAL
FLOAT REAL REAL
DECIMAL DECIMAL REAL
NUMERIC NUMERIC REAL
_______________________________________________________
BOOLEAN BOOLEAN INTEGER
_______________________________________________________
DATE DATE TEXT
TIME TIME
DATETIME TIMESTAMP
_______________________________________________________
TIMESTAMP DEFAULT TIMESTAMP DEFAULT TEXT
NOW() NOW()
_______________________________________________________
LONGTEXT TEXT TEXT
MEDIUMTEXT TEXT TEXT
BLOB BYTEA BLOB
VARCHAR VARCHAR TEXT
CHAR CHAR TEXT
_______________________________________________________
columnname INT columnname SERIAL INTEGER PRIMARY
AUTO_INCREMENT KEY AUTOINCREMENT
我会说,我认为这是事实,不建议使用数据库类型的交叉映射,因为(在我的眼中)绝对没有时间需要交叉映射。可能发生的情况是,您必须将PG转换为My,而不是将它们交叉映射。 – 2009-12-21 21:41:15
为什么不将SQL Server和Oracle添加到表中? – 2009-12-21 21:46:43
这种列类型交叉映射的目标是使这三种类型之间的CREATE TABLE定义更容易解释(甚至使用)。由于他们经常使用,我发现开源代码需要为其中的任何一个做好准备。 – Xeoncross 2009-12-21 22:02:26