カテゴリー別アーカイブ: mysql

cakePHPのモデルとデータ型

こんばんは、最近久しぶりにcakePHPを触る機会があったしょうたんです。
というわけで、本日のネタはcakePHPのモデルとデータ型です。
主要なDBを比較したいと思います。

MySQL
CakePHP における型 フィールドのプロパティ
primary_key NOT NULL auto_increment
string varchar(255)
text text
integer int(11)
float float
datetime datetime
timestamp datetime
time time
date date
binary blob
boolean tinyint(1)

PostgreSQL
CakePHP における型 フィールドのプロパティ
primary_key serial NOT NULL
string varchar(255)
text text
integer integer
float float
datetime timestamp (Y-m-d H:i:s)
timestamp timestamp (Y-m-d H:i:s)
time time (H:i:s)
date date (Y-m-d)
binary bytea
boolean boolean
number numeric
inet inet

Oracle
CakePHP における型 フィールドのプロパティ
primary_key number NOT NULL
string varchar2(255)
text varchar2
integer numeric
float float
datetime date (Y-m-d H:i:s)
timestamp date (Y-m-d H:i:s)
time date (H:i:s)
date date (Y-m-d)
binary bytea
boolean boolean
number numeric
inet inet

文字列は特にOracleではバージョンによって仕様が違うので要注意です。
日付やBooleanの仕様もDBによってかなり違います、cakePHP関係ないですが、
この機会にデータ型の違いを比較しておさらいしましょう。