使用CodeIgniter 執行批次行插入
問題
避免創建可能有數千個的極長查詢附加價值,建議探索使用單一行同時插入多個MySQL行的方法
解決方案
在 MySQL 中插入多行比執行單一插入要高效得多。要使用 CodeIgniter 最佳化此過程,請利用 implode() 函數。
實作
先建立一個陣列來保存SQL 語句:
$sql = array();
接下來,迭代資料集並建立SQL statements:
foreach( $data as $row ) { $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')'; }
最後,使用implode()執行查詢:
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));
優點
這種方法透過將 SQL 語句組裝在部分並使用 implode() 有效地連接它們。對於具有許多列和可能很長的值的資料集,請考慮使用巢狀迴圈來動態建立 SQL 語句。
以上是如何在 CodeIgniter 中有效率地執行批次行插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!