[CodeIgniter2] データベースへのインサート

公開
更新日

スポンサーリンク

CodeIgniterでデータベースにデータをインサートする際の覚え書き。

単一レコードの挿入

レコードのインサートは$this->db->insert( string , array )を使う。第1引数がテーブル名、第2引数はカラム名と値を連想配列で渡す。

$data = array(
	"column_name1" => "値",
	"column_name2" => "値"
);
$this->db->insert('table', $data );

これでINSERT INTO table("column_name1","column_name2") VALUES("値","値")というSQL文が生成され実行される。

複数レコードの挿入

複数レコードをまとめてインサートするときは$this->db->insert_batch( string, array )を使う。第1引数にテーブル名を渡すのは$this->db->insert()と同じ。第2引数は2次元配列を渡す。

$data = array(
	array(
		"column_name1" => "値1",
		"column_name2" => "値1"
	),
	array(
		"column_name1" => "値2",
		"column_name2" => "値2"
	)
);
$this->db->insert_batch('table', $data );

これでINSERT INTO table("column_name1","column_name2") VALUES("値1","値1"),("値2","値2")というSQL文が生成され実行される。

挿入したレコードIDを知る

$this->db->insert_id()で取得できる。

スポンサーリンク


Comment


  1. チュウトトロ : 投稿日:2014年2月24日 11:10 AM

    insert_batchのサンプルコードに『t』が抜けてます

    • 管理人 : 投稿日:2014年4月21日 12:52 AM

      チュウトトロさん、ありがとうございます.
      修正しました.