Mailinglisten-Archive |
Hallo an alle,
Besten Dank für die Tips.
Der Tip mit dem Semikolon war der Punkt.
Kleines Zeichen große Wirkung.
Mit freundlichen Grüßen
Best regards
Dirk Wendt
-----Ursprüngliche Nachricht-----
Von: Sebastian Mendel [mailto:lists at sebastianmendel.de]
Gesendet: Mittwoch, 5. Mai 2004 13:38
An: mysql-de at lists.4t2.com
Betreff: Re: Problem mit Update
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
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive