SQL update um x prozent?

Brauni

Erfahrenes Mitglied
Hallo

Folgendes Problem:
Ich habe eine Variable varpreis in der z.b. 2 drinnen steht. Nun will ich mit dem Befehl update erreichen, dass alle Preise im Feld preis meiner DB um 2% erhöht werden.

Wie ist dies möglich?
 
Mit etwas Mathe und dem richtigen MySQL-Befehl gar kein problem.

Code:
UPDATE tabelle SET preis = preis*($varpreis/100+1);

Darf natürlich gerne noch mit WHERE oder LIMIT eingegrenzt werden, sofern erwünscht ;)
 
Mit rechnen! Zuerst auslesen, danach berechnen und danach updaten:

PHP:
$sql=mysql_query("SELECT * FROM tabelle");
while($result=mysql_fetch_array($sql)){

    $wertneu=$result['preis']+($result['preis']/100*2);
    mysql_query("UPDATE tabelle SET preis=$wertneu WHERE id=$result['id']");

}

müsste an und für sich so funktionieren!
 
Ich würde es so machen :

PHP:
$result=mysql_query("SELECT  * FROM produkte");
while($row=mysql_fetch_array($result)){

$up_n=$row["varpreis"]*0.02;

$res=mysql_query("UPDATE produkte SET varpreis='$up_n' where id='$row[id]' ");
}
 
Also die Variante von GH@NDI

ist im Prinzip natürlich performanter, da nur ein SQL-Befehl abgesetzt werden muß.


vop
 
Zurück