CodeigniterとActiveRecordsを使用してMySQLテーブルにいくつかの行を挿入しようとしています。
PHPコード
$data = array('......'); // some rows of data to insert
$this->db->insert_batch('my_table', $data);
ただし、これにより、重複する行がテーブルに挿入される可能性があります。INSERT IGNORE
重複データの挿入を処理するために、行が重複している場合は行を挿入しないコマンドを使用する予定です。
問題: Active Recordsで同等のものが見つからずINSERT IGNORE
、ActiveRecordクラスを編集したくありません。他に選択肢はありますか?
以下は面白そうですが、次のようにすると、クエリが2回実行されませんか?
$insert_query = $this->db->insert_batch('my_table', $data); // QUERY RUNS ONCE
$insert_query = str_replace('INSERT INTO','INSERT IGNORE INTO',$insert_query);
$this->db->query($insert_query); // QUERY RUNS A SECOND TIME