ここでは、CodeIgniter のデータベースフォージクラス (dbforge) を使用して、books
テーブルを作成してみます。
dbforge->create_table()
を呼び出す前に、dbforge->add_field()
でテーブルのフィールドを指定しておく必要があります。
<?php
class Hello extends CI_Controller {
public function index() {
$this->load->dbforge();
$fields = array(
'id' => array('type' => 'int', 'auto_increment' => true),
'title' => array('type' => 'text'),
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('id', true); // primary key
$this->dbforge->create_table('books');
}
}
デフォルトでは、すでに books
テーブルが存在する場合に、以下のコードはエラーになります。
$this->dbforge->create_table('books');
テーブルが既に存在する場合に何も処理を行わないようにするには、第2パラメータに TRUE
を設定します(内部的には SQL の IF NOT EXISTS
で実行されていることになります)。
$this->dbforge->create_table('books', TRUE);