phpbar.de logo

Mailinglisten-Archive

Problem mit Update

Problem mit Update

Sebastian Mendel lists at sebastianmendel.de
Mit Mai 26 18:24:24 CEST 2004


Dirk Wendt (Paxar Deutschland GmbH) schrieb:

> Hallo,
> 
> Ich habe folgendes Problem.
> In einer Schleife möchte ich Datensätze updaten. ( siehe unten)
> 
> Eigentlich sind es 10 updates aber es werden nicht alle verarbeitet.
> 1 mal sind es 7, mal sind es 4 also ganz unterschiedlich.
> 
> Kann mir jemand einen Tip geben woran es liegen könnte.
> 
> wi_ltvo = date
> org_wiltvo = varchar(50)
> 
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-09-15,Dirk Wendt' WHERE ID='5199'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-06-30,Dirk Wendt' WHERE ID='5195'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-06-30,Dirk Wendt' WHERE ID='5192'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-06-27,Dirk Wendt' WHERE ID='5189'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-06-27,Dirk Wendt' WHERE ID='5186'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-06-18,Dirk Wendt' WHERE ID='5183'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-07-03,Dirk Wendt' WHERE ID='5177'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-07-03,Dirk Wendt' WHERE ID='5176'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-07-03,Dirk Wendt' WHERE ID='5175'
> UPDATE SST_kl_rupp_adr SET `wi_ltvo`='2004-05-05', `org_wiltvo` 
> ='2004-07-03,Dirk Wendt' WHERE ID='5174'

weiß nicht ob das wirklich hilft, aber:

SQL-Statements werden mit einem ; abgetrennt
und wenn du schon `` verwendest dann doch gleich überall:

UPDATE `SST_kl_rupp_adr`
    SET `wi_ltvo` = '2004-05-05', `org_wiltvo` = '2004-09-15,Dirk Wendt'
  WHERE `ID` = '5199';
UPDATE `SST_kl_rupp_adr`
    SET `wi_ltvo` = '2004-05-05', `org_wiltvo` = '2004-06-30,Dirk Wendt'
  WHERE `ID` = '5195';
...


und welche MySQL-Version hast du? Vielleicht kannst da ein 
Multi-Collumn-Replace machen ...

REPLACE INTO `SST_kl_rupp_adr`
(`wi_ltvo`, `org_wiltvo`, `ID`)
VALUES
('2004-05-05', '2004-09-15,Dirk Wendt', '5199'),
('2004-05-05', '2004-06-30,Dirk Wendt', '5195'),
...

geht aber nur wenn der PK auf `ID` liegt, und die Tabelle sonst keine 
Felder enthält, oder du fügst sie mit in das Query ein.


oder mit MySQL 4.1.1:

INSERT ... ON DUPLICATE KEY ...


-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com


php::bar PHP Wiki   -   Listenarchive