To, na co se ptáte, se často nedělá, protože byste obvykle používali update()
buď nastavit mnoho záznamů tak, aby měly stejné hodnoty, nebo nastavit jeden záznam tak, aby měl mnoho různých hodnot.
Jedním ze způsobů, jak to obejít, je agregovat aktualizace, takže pomocí pole získejte všechna ID, kde je rok 2011, a poté spusťte toto:
$where = array();
// This where should contain all the ids that need the year set to 2011
// E.g.
$where[] = array("id" => 3);
$db->update("table_name", array("year" => 2011), $where);
Tím se sníží počet dotazů za předpokladu, že máte mnoho řádků se stejným rokem. Dokumentace k tomuto je zde .
Nebo můžete použít metodu takto
Upravit po odpovědi OP
Samotná povaha problému znamená, že jej nelze efektivně vyřešit.
Ptáte se na způsob aktualizace 3 700 řádků dat s velmi odlišnými sadami dat. Pokud se soubory dat liší, neexistuje žádný vzor, který byste mohli využít k tomu, aby to bylo efektivní. Nalezení vzorů, jako jsou řádky se stejným rokem, a jejich použití ve svůj prospěch zvýší rychlost dotazu, ale bude vyžadovat určité zapojení mozku ve formě masování polí jak poznamenal regilero.