Hier kommen Posts zu anderen Datenbanken als PostgreSQL rein.
-
w4sport.AT
- Neuer Benutzer
- Beiträge: 2
- Registriert: Mi 6. Okt 2010, 19:38
Beitrag
von w4sport.AT » Mi 6. Okt 2010, 19:39
hallo!
ich möchte gerne folgenden sql-datei per php-datei aufrufen:
Code: Alles auswählen
UPDATE ws_spieler SET w_staerke=w_staerke-10 WHERE w_staerke>90;
UPDATE ws_spieler SET w_staerke=w_staerke-8 WHERE w_staerke BETWEEN 80 AND 90;
UPDATE ws_spieler SET w_staerke=w_staerke-6 WHERE w_staerke BETWEEN 70 AND 79;
UPDATE ws_spieler SET w_staerke=w_staerke-4 WHERE w_staerke BETWEEN 60 AND 69;
UPDATE ws_spieler SET w_staerke=w_staerke-2 WHERE w_staerke BETWEEN 50 AND 59;
UPDATE ws_spieler SET w_staerke=w_staerke+2 WHERE w_staerke BETWEEN 35 AND 45;
UPDATE ws_spieler SET w_staerke=w_staerke+4 WHERE w_staerke BETWEEN 25 AND 34;
UPDATE ws_spieler SET w_staerke=w_staerke+6 WHERE w_staerke BETWEEN 15 AND 24;
UPDATE ws_spieler SET w_staerke=w_staerke+8 WHERE w_staerke BETWEEN 5 AND 14;
UPDATE ws_spieler SET w_staerke=w_staerke+10 WHERE w_staerke<5;
wenn ich den code direkt in phpmyadmin eingebe, funktioniert das nicht so wie gewünscht, da ws_spieler mit stärke 95 zb -10 bekommt, dann nochmals bei 85 -8 abgezogen bekommt, bei 77 -6 abgezogen bekommt und dann bei 71 endet. Soll aber nur von 95 auf 85 runtergehen und das geht glaub ich nur wenn man den befehl per SQL-Datei aufruft...
kann mir den code in php-form umschreiben? wär echt nett..
-
akretschmer
- Erfahrener Benutzer
- Beiträge: 7681
- Registriert: So 29. Okt 2006, 13:35
- Wohnort: Kaufbach, Sachsen, Germany, Germany
-
Kontaktdaten:
Beitrag
von akretschmer » Mi 6. Okt 2010, 20:12
w4sport.AT hat geschrieben:hallo!
ich möchte gerne folgenden sql-datei per php-datei aufrufen:
Code: Alles auswählen
UPDATE ws_spieler SET w_staerke=w_staerke-10 WHERE w_staerke>90;
UPDATE ws_spieler SET w_staerke=w_staerke-8 WHERE w_staerke BETWEEN 80 AND 90;
UPDATE ws_spieler SET w_staerke=w_staerke-6 WHERE w_staerke BETWEEN 70 AND 79;
UPDATE ws_spieler SET w_staerke=w_staerke-4 WHERE w_staerke BETWEEN 60 AND 69;
UPDATE ws_spieler SET w_staerke=w_staerke-2 WHERE w_staerke BETWEEN 50 AND 59;
UPDATE ws_spieler SET w_staerke=w_staerke+2 WHERE w_staerke BETWEEN 35 AND 45;
UPDATE ws_spieler SET w_staerke=w_staerke+4 WHERE w_staerke BETWEEN 25 AND 34;
UPDATE ws_spieler SET w_staerke=w_staerke+6 WHERE w_staerke BETWEEN 15 AND 24;
UPDATE ws_spieler SET w_staerke=w_staerke+8 WHERE w_staerke BETWEEN 5 AND 14;
UPDATE ws_spieler SET w_staerke=w_staerke+10 WHERE w_staerke<5;
wenn ich den code direkt in phpmyadmin eingebe, funktioniert das nicht so wie gewünscht, da ws_spieler mit stärke 95 zb -10 bekommt, dann nochmals bei 85 -8 abgezogen bekommt, bei 77 -6 abgezogen bekommt und dann bei 71 endet. Soll aber nur von 95 auf 85 runtergehen und das geht glaub ich nur wenn man den befehl per SQL-Datei aufruft...
kann mir den code in php-form umschreiben? wär echt nett..
Jede Menge Fehler...
1. falsches RDBMS. hier geht es um PostgreSQL, nicht um MySQL
2. falsches SQL:
Code: Alles auswählen
test=# select * from spieler;
id | staerke
----+---------
1 | 90
2 | 80
3 | 70
4 | 60
(4 Zeilen)
Zeit: 0,155 ms
test=*# update spieler set staerke = staerke + case when staerke > 90 then 9 when staerke between 80 and 90 then 8 when staerke between 70 and 80 then 7 when staerke between 60 and 70 then 6 end ;
UPDATE 4
Zeit: 0,320 ms
test=*# select * from spieler;
id | staerke
----+---------
1 | 98
2 | 88
3 | 77
4 | 66
(4 Zeilen)
Du darfst halt nicht viele einzelne SQL's machen, die dann nacheinander ablaufen, sondern nur eines.
Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
-
w4sport.AT
- Neuer Benutzer
- Beiträge: 2
- Registriert: Mi 6. Okt 2010, 19:38
Beitrag
von w4sport.AT » Mi 6. Okt 2010, 23:19
achso, sorry das wusste ich nicht...
ok, also der befehl muss in einer zeile ausgeführt werden... kann mir jemand verraten wie ich das dann per mysql eingebe?
-
ads
- Erfahrener Benutzer
- Beiträge: 4148
- Registriert: Mi 8. Feb 2006, 10:58
- Wohnort: MD
-
Kontaktdaten:
Beitrag
von ads » Do 7. Okt 2010, 00:29
Immer noch falsches Forum, hier geht es um PostgreSQL, nicht MySQL.
Den Befehl kann man auch in die MySQL Shell eintippen oder per PHP abschicken.
-
akretschmer
- Erfahrener Benutzer
- Beiträge: 7681
- Registriert: So 29. Okt 2006, 13:35
- Wohnort: Kaufbach, Sachsen, Germany, Germany
-
Kontaktdaten:
Beitrag
von akretschmer » Do 7. Okt 2010, 08:26
w4sport.AT hat geschrieben:achso, sorry das wusste ich nicht...
ok, also der befehl muss in einer zeile ausgeführt werden... kann mir jemand verraten wie ich das dann per mysql eingebe?
Jein. Davon abgesehen, daß Du hier falsch bist: es geht nicht darum, das alles in einer Zeile einzugeben, sondern darum, dies in einem Befehl zu machen.
Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services