Wat je vraagt wordt niet vaak gedaan, omdat je normaal gesproken update()
. zou gebruiken om ofwel veel records in te stellen om dezelfde waarden te hebben of om één record in te stellen om veel verschillende waarden te hebben.
Een manier om dit te omzeilen is het aggregeren van de updates, dus gebruik je array om alle id's te krijgen waar het jaar 2011 is, voer dan dit uit:
$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);
Als u dit doet, wordt het aantal zoekopdrachten verminderd, ervan uitgaande dat u veel rijen met hetzelfde jaar hebt. De documentatie hiervoor is hier .
Of u kunt een methode gebruiken zoals dit
Bewerken na OP-reactie
De aard van het probleem betekent dat het niet efficiënt kan worden opgelost.
Je vraagt om een manier om 3.700 gegevensrijen bij te werken met heel verschillende gegevenssets. Als de gegevenssets anders zijn, is er geen patroon dat u kunt gebruiken om dit efficiënt te maken. Het vinden van patronen, zoals rijen met hetzelfde jaartal, en deze in uw voordeel gebruiken, zal de snelheid van de zoekopdracht verhogen, maar vereist enige hersenactiviteit in de vorm van array mashing zoals opgemerkt door regilero.