[php & mysql] - meerdere update query's tegelijk

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb een tabel met 13000 records. Ik moet deze records updaten. Dat deed ik in een lus, maar die lus wordt dus 13000 keer doorgelopen en je hebt dan 13000 query's. Dit vindt ik te belastend voor de database, dus ik dacht van. Nou maak ik een $string en die vul ik steeds aan met de query, en als dat 100 x gebeurd is, dan uitvoeren. Maar hoe doe ik dat??

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:52
Hmm...
Met welke gegevens wil je die records updaten?
Ik bedoel: is dat iedere keer met hetzelfde gegeven? Haal je de gegevens uit andere tabellen voor ieder record, .... ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb 3 velden waarin / staan. Deze filter ik en dan gaat ie updaten.


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$selectsql = "      SELECT
                                product_id
                            FROM
                                pricestaf
                        ";

                    if( !$result_select = $o_dbConnection->Execute( $selectsql )) {
                        insertErrorLog( "import.prs", "ERROR executing query: ".$selectsql." ---- ".$o_dbConnection->ErrorMsg() );
                    }

                $i = 0;

                while( !$result_select->EOF ){
                    $newproductid = str_replace( "\"", "", $result_select->fields( "product_id" ) );

                    if( $i == 100 ){
                        $i = 0;
                        
                        if( !$result_update = $o_dbConnection->Execute( $update_SQL )) {
                            insertErrorLog( "import.prs", "ERROR executing query: ".$update_SQL." ---- ".$o_dbConnection->ErrorMsg() );
                        }
                                                
                        $update_SQL = "";
                    }
                    $update_SQL .= "    UPDATE
                                    pricestaf
                                SET
                                    product_id = '".$newproductid."'
                                WHERE
                                    product_id = '".$result_select->fields( "product_id" )."';
                            ";              
                $i++;
                $result_select->MoveNext();
                }


Maar dit kan ie niet uitvoeren.... Maar in PHPMYADMIN doet ie het wel...

[ Voor 116% gewijzigd door Verwijderd op 09-01-2003 11:40 ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

phpmyadmin splitst de hele zut weer in aparte queries en voert die (in een loop) een voor een uit..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 17-09 20:13

Super_ik

haklust!

moet dit vaak gebeuren?
anders kun je mischien makkelijker meteen connecte naar ja mysql server in een console
of via een bash scriptje, dan heb geen last van time-outs
en 13000 moet ie toch wel in 1 keer kunne ingeven, anders is t maar een slechte database :?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Waarom moet je er zoveel veranderen, fout in je db-ontwerp oid?
Pagina: 1