[SQL] Variablen definieren

Meinst du jetzt, daß du ein Script hast, bei du in einem Select-Statement bestimmte Spalten in diese Variablen schreibst, um später mit den Werten zu arbeiten, oder meinst du es so, daß du ein Select so vorbereiten möchtest, daß du im Where-Teil Variablen als Parameter übergeben kannst?
 
also es geht darum, das ich eine tabelle neu durchnumerieren will und das in 10er - schritten
 
Ich glaub sowas geht per php schneller, als direkt in SQL.

Obwohl Du willst einfach nur alle Werte um 10 erhöhen?
Dann wirste das in 2 Schritten machen müssen.

UPDATE table SET spalte=spalte+1000 (also > maxwert, damits keine doppelungen gibt falls index o.ä.)

dann
UPDATE table SET spalte=spalte-990


und falls du meinst 1...10...20...30

dann den autoincrement index (1,2,3,4,5) ggf. vorher noch setzen und als hure missbrauchen. ;)

UPDATE table SET spalte=indexspalte*10

geht wie gesagt auch per php-script .
einfach ne schleife und nen zähler mitlaufen lassen, darin dann sql update.

nur so als ungefährer denkansatz, weiss ja nicht was du genau willst.
 
das problem ist, das es eigentlich nciht einen tabelle ist, wo alle in 10er schritten durchnumeriert werden müssen sondern das ergebnis einer abfrage.
das per php hatte ich bis jetzt so, aber ab 1000 updates in der schleife wird das sehr sehr lahm
 
Wie oft werden die denn durchnummeriert, das Geschwindigkeit so wichtig ist?
Ich dachte Du machst das nur 1mal. ;)

Dann machs doch anders, indem Du die Tabelle in ein array einliest (mysql_fetch_array) und dir in der schleife einen insert string (variable)zusammenbastelst.
Und erst nach der Schleife das SQL INSERT VALUE(blaba, blablab2...) in einem Rutsch machst. vorher natürlich noch ein delete. Aber nix update.

Das aber nur, wenn die DS in der Datenbank dauerhaft durchnummeriert abgespeichert werden müssen.

Wenn das immer nur für die jeweilige Abfrage gilt, dann liest Du doch sowieso die Abfrage in php in einer Schleife ein, oder nicht?
Wo wäre das prob das nebenbei auch gleich noch mit temporär durchzunummerieren? Das kostet dann nicht spürbar mehr Zeit. Dafür muss man ja die DB nicht jedesmal updaten. Wäre ja der reinste overkill.
Kommt ja auch immer auf das script bzw dessen Ergebnis allgemein an, Weiss ja nicht, was Du überhaupt damit bezweckst. ;)
 
Zuletzt bearbeitet:
Zurück
Oben