MySQLでストレージエンジンを指定してテーブルを作成する構文を以下に記します。
TYPE=InnoDBによりストレージエンジンを指定しています。
mysql> CREATE TABLE t1 (a INT, b INT) TYPE=InnoDB; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> select table_name, engine from information_schema.tables where table_schema = 'db1'; +------------+--------+ | table_name | engine | +------------+--------+ | t1 | InnoDB | +------------+--------+ 1 row in set (0.00 sec)
MySQL5.5からTYPEが使えなくなったようです。
TYPEを使わずENGINE構文を使います。
ENGINEを使った構文はENGINEの後にInnoDBに記述してもよいし、ENGINE=と記述しても同じ動作になります。
mysql> CREATE TABLE t2 (a INT, b INT) ENGINE InnoDB; Query OK, 0 rows affected (0.03 sec) mysql> CREATE TABLE t3 (a INT, b INT) ENGINE=InnoDB; Query OK, 0 rows affected (0.01 sec) mysql> select table_name, engine from information_schema.tables where table_schema = 'db1'; +------------+--------+ | table_name | engine | +------------+--------+ | t1 | InnoDB | | t2 | InnoDB | | t3 | InnoDB | +------------+--------+ 3 rows in set (0.00 sec)
TYPE=MyISAMによりストレージエンジンを指定しています。
mysql> CREATE TABLE t1 (a INT, b INT) TYPE=MyISAM; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> select table_name, engine from information_schema.tables where table_schema = 'db1'; +------------+--------+ | table_name | engine | +------------+--------+ | t1 | MyISAM | +------------+--------+ 1 row in set (0.00 sec)
MySQL5.5からTYPEが使えなくなったようです。
TYPEを使わずENGINE構文を使います。
ENGINEを使った構文はENGINEの後にMyISAMに記述してもよいし、ENGINE=と記述しても同じ動作になります。
mysql> CREATE TABLE t2 (a INT, b INT) ENGINE MyISAM; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t3 (a INT, b INT) ENGINE=MyISAM; Query OK, 0 rows affected (0.01 sec) mysql> select table_name, engine from information_schema.tables where table_schema = 'db1'; +------------+--------+ | table_name | engine | +------------+--------+ | t1 | MyISAM | | t2 | MyISAM | | t3 | MyISAM | +------------+--------+ 3 rows in set (0.00 sec)