[CodeIgniter2] アクティブレコードでReplace文を使う

公開
更新日

スポンサーリンク

CodeIgniterのアクティブレコードではReplace文が使えます。

Replace文はデータが存在すればUPDATEを行い、なければINSERTを行ってくれる便利なSQLですが、CodeIgniterのユーザーガイドには載っていません。だから使えないのかと思っていたら、メソッド自体は存在するのですね。

日本語ガイドだけ記載漏れなのかと思ったら英語版ガイドにも記載がないので、公式機能ではないのかもしれません。

使い方は以下の通りです。

$data = array(
  'name' => '山田',
  'age' => 17,
  'address' => '東京'
);
$this->db->replace('table_name', $data );

$this->db->insert()と全く同じですね。これで以下のSQL文が生成され実行されます。

REPLACE INTO `table_name` (`name`, `age`, `address`) VALUES ('山田', '17', '東京')

スポンサーリンク


Comment