如何在CodeIgniter中進行批量更新,而不是在數據庫中每次都執行查詢?如何批量更新?
Q
如何批量更新?
3
A
回答
1
CodeIgniter的活動記錄類有一個insert_batch()方法,它執行此操作並負責轉義數據。
$data = array(
array('name' => 'John', 'email' => '[email protected]'),
array('name' => 'Sue', 'email' => '[email protected]')
);
$this->db->insert_batch('my_table', $data);
http://codeigniter.com/user_guide/database/active_record.html
3
Mysql可以做多個更新或插入。通常在一個活動記錄模式中,您可以逐個插入,但對於批量更新或插入,您可以執行此操作。
$sql = "INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);";
$this->db->query($sql);
+0
要添加到您的評論,你也可以使用查詢綁定與那。這樣CI將爲您自動創建值。即。 「INSERT INTO table(id,Col1,Col2)VALUES(?,?,?),(?,?,?)」$ this-> db-> query($ sql,array(1,1,1,2, 2,3)); – 2010-10-25 19:14:28
1
對於其他老式代碼點火器用戶着想(像我一樣):
您使用的是舊版本? insert_batch和update_batch已經存在了一年多的時間[Sep/2010]。如果您不打算升級,則必須針對每一行運行插入查詢,或者手動構建批量插入語句。
0
這個問題是關於更新,但接受的答案是插入。
這裏是你怎麼做批量更新:
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name 2' ,
'date' => 'My date 2'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name 2' ,
'date' => 'Another date 2'
)
);
$this->db->update_batch('mytable', $data, 'title');
這個例子是從CodeIgniter用戶指南:
http://ellislab.com/codeigniter/user-guide/database/active_record.html#update
相關問題
- 1. 如何批量更新?
- 2. 批量Sql更新
- 3. DynamoDB批量更新
- 4. 批量更新MYSQL
- 5. Install4j - 批量更新
- 6. backbone.js批量更新
- 7. 批量更新DynamoDB
- 8. RavenDB批量更新
- 9. Laravel批量更新
- 10. JDBC批量更新
- 11. DynamoDb - 如何進行批量更新?
- 12. 如何用Django「批量更新」?
- 13. 如何批量更新SQL模式
- 14. 如何批量更新在EF
- 15. 如何批量更新XML文件
- 16. 如何批量更新箱enterpise用戶
- 17. 如何批量更新一組用戶
- 18. 如何爲PostgreSQL做批量更新
- 19. 如何執行批量更新查詢
- 20. 如何批量更新/插入mongoid/mongodb?
- 21. 休眠批量插入,批量更新
- 22. JPA Hibernate批量/批量更新Spring MVC
- 23. 批量刪除和批量更新
- 24. SQLAlchemy批量更新策略
- 25. mysql批量記錄更新?
- 26. asp.net 3.5 linq批量更新?
- 27. Dynamics CRM 2011批量更新
- 28. 批量更新LINQ to SQL
- 29. 批量更新隊列
- 30. 休眠和批量更新
,但是這會在表'my_table'中將**新數據作爲批處理插入。我們如何定義** WHERE **子句來批量更新包含特定電子郵件地址的特定行。 – 2011-11-27 12:18:37