Как я могу выполнять пакетные обновления в CodeIgniter вместо того, чтобы запускать запрос каждый раз в базе данных?Как сделать пакетные обновления?
ответ
активный класс записи 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
Mysql может выполнять несколько обновлений или вставок. Обычно в шаблоне Active Record вы вставляете один за другим, но для массовых обновлений или вставок вы можете это сделать.
$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);
Чтобы добавить в свой комментарий, вы можете также использовать привязки запроса с что. Таким образом, CI автоматически сохранит ваши ценности. то есть. «INSERT INTO table (id, Col1, Col2) VALUES (?,?,?), (?,?,?)" $ This-> db-> query ($ sql, array (1,1,1,2, 2,3)); –
Ради других старомодных пользователей код воспламенитель (как я):
Вы используете старую версию? insert_batch и update_batch уже более года [сентябрь/2010]. Если вы не собираетесь обновлять, вам придется запускать запрос на вставку для каждой строки или вручную создавать инструкцию вставки пакета.
Этот вопрос был об обновлениях, но принятый ответ для вставки.
Вот как это можно сделать пакетное обновление:
$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. C# DataSets пакетные обновления
- 2. Пакетные обновления с Sequel gem
- 3. После обновления Триггеры и пакетные обновления
- 4. Пакетные обновления MySQL в C
- 5. Пакетные обновления с использованием DataAdapter
- 6. Может ли EF4 поддерживать пакетные обновления?
- 7. Пакетные/насыпных вставки/обновления данных modelized
- 8. Как сделать пакетные операции в NDB является атомарной или фиксированной записью для обновления ndb
- 9. Как переоценить пакетные переменные?
- 10. Как сделать функцию «обновления»
- 11. Как закрыть пакетные задания
- 12. Как создать пакетные функции?
- 13. MYSQL: Пакетные инструкции вставки/обновления в одном запросе
- 14. Как сделать пакетные удаленные вызовы в базу данных или службу?
- 15. Как эффективно использовать пакетные скрипты?
- 16. Пакетные объекты
- 17. Как сделать сервер обновления игры
- 18. C#, LINQ пакетные элементы - что это лучший способ сделать это?
- 19. Пакетные найти файлы
- 20. Пакетные файлы: как читать файл?
- 21. OpenWhisk- Как загрузить пакетные действия?
- 22. Пакетные запросы по Symfony
- 23. пакетные файлы: окна eqvivalent
- 24. Выполнять пакетные инструкции последовательно
- 25. Пакетные вставки с PHP
- 26. Пакетные вставки с resque
- 27. Пакетные удаления в ADO.NET
- 28. Пакетные файлы для Java
- 29. Пакетные файлы: Если каталог существует, сделать что-то
- 30. Есть ли способ сделать пакетные звонки с помощью SDK накопителя?
, но это будет ** INSERT ** новые данные как пакет в таблице «my_table». Как мы определяем предложение ** WHERE ** для пакетного обновления определенных строк, содержащих определенные адреса электронной почты. –