【CodeIgniter3.0】MySQLiドライバにINSERT ON DUPLICATE KEY UPDATE 構文によるバッチ処理を追加する方法

【CodeIgniter3.0】MySQLiドライバにINSERT ON DUPLICATE KEY UPDATE 構文によるバッチ処理を追加する方法です。

MySQLiの拡張ドライバを作成してINSERT ON DUPLICATE KEY UPDATEによるバッチ処理メソッドを追加する

INSERT ON DUPLICATE KEY UPDATEによるバッチ処理メソッドを追加したMySQLiの拡張ドライバファイルを以下のようにlibrariesディレクトリ内に作成してください。

application/libraries/database/drivers/mysqli/My_DB_mysqli_driver.php

コードは以下のとおりです。

MySQLiの拡張ドライバを読みこませるためLoaderクラスを拡張する

MySQLiの拡張ドライバを読みこませるためにコアクラスのLoaderクラスを拡張します。ファイルを以下の場所に設置して下さい。

application/core/MY_Loader.php

コードは以下のとおりです。

以上で完成です。

あとはコントローラーで内で以下のメソッドを追加すれば実行されます。

$this->db->insert_on_duplicate_update_batch('tbl', $data);

データはinsert_batchメソッドと同様、配列またはオブジェクトで渡して下さい。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください