columnen updaten von virtuellen columnen

ecxod

Neuer Benutzer
Beiträge
3
ich habe eine Tabelle.
die sieht so aus:
Code:
CREATE TABLE `table` (
   `ID` INT(5) UNSIGNED NULL,
   `PLZ` INT(5) UNSIGNED NULL,
   `lat` INT(5) UNSIGNED NULL,
   `long` INT(5) UNSIGNED NULL
)
COLLATE='utf8'

Da sind zwei Reihen, ID und die zweite Kolonne PLZ sind steigend geordnet.
wenn ich eine Zeile hinzufüge [Zeile 3] störe ich diese Systematik.

2McHn.png

Bild.1
ich möchte nun die Kolonne ID neu schreiben um das Ergebnis zu erhalten:

8plMD.png

Bild.2
Es gibt nun selbstverständlich eine Lösung die kurz und zackig ist.
Dann fand ich folgende Möglichkeit eine virtuelle Kolonne zu bauen.:

Code:
SELECT RANK() Over (ORDER BY plz) As idnew , plz, long, lat FROM `table`

wie kann ich nun entweder die Kolonne id von der virtuellen "idnew" updaten,
oder, wie kann ich einfach ohne rank() die Kolonne ID neu ordnen So daß meine Tabelle wie Bild.2 aussieht?
 
Zuletzt bearbeitet:
Werbung:
Du scheinst diverse Dinge nicht verstanden zu haben:

  • Datentypen. PLZ sind nicht numerisch, es sind STRINGs.
  • die ID-Spalte sollte wohl mal ein PK werden. Solch ein PK muß nicht in sich einer Sortierung unterliegen, er muß nur eindeutig sein.

Dein *eigentliches* Problem ist noch nicht klar. Vielleicht kannst Du das mal näher erklären ...

Andreas
 
Die Frage lautet :
okay ich erzeuge eine neue Kolonne.
wie kann ich meinetwegen eine neue Kolonne von der virtuellen "idnew" updaten. (ich dachte das ist eine einfache SQL Frage)

Awlj9.png



Wenn ich schreibe
UPDATE `table` SET `ID`='irgendwas'
schreibt es mir in die spalte ID von oben bis unten 'irgendwas'
Ich will aber in die Spalte die Werte von 'idnew' eintragen entsprechend der PLZ.

WIE GEHT DAS ?

 
Wenn ich schreibe
UPDATE `table` SET `ID`='irgendwas'
schreibt es mir in die spalte ID von oben bis unten 'irgendwas'
Ich will aber in die Spalte die Werte von 'idnew' eintragen entsprechend der PLZ.

Warum?

Das ist allenfalls ein Snapshot. Was hilft das Dir? Frag es zur Laufzeit ab, wo ist das Problem?

Die Antwort auf Deine Frage hängt auch davon ab, wie diese Antwort gerade entsprechend der aktuellen Transaktion lautet. ...
 
Werbung:
Zurück
Oben