Spalten neu durchnummerieren (subselect)

Hi [at] all

Mysql Version 5.0.26 auf Linux:

ich habe eine Tabelle 'Packorder'(unwichtiges weggelassen)

PA_ID =3D> auto_increment
PA_ORDER =3D> int //gibt eine Artikelsortierung an

________+________+
|PA_ID |PA_ORDER|
|1 | 1|
|2 | 3|
|3 | 4|
|4 | 7|
|5 | 9|


Es gibt keine doppelten Werte in 'PA_ORDER'


Ich möchte gern mit einem Statement die Spalte 'PA_ORDER' beginnend
mit '1'
neu durchnummerieren.

Habe folgendes probiert:

update packartikel set PA_ORDER=3D(select count(*) from packartikel b
where a.PA_ORDER>b.PA_ORDER)+1;

Meckert MySql:
'You can't specify target table 'packartikel' for update in FROM
clause';

Frage 1:
Wie löst Ihr das Problem...

Frage 2:
Hat irgendjemand ne Ahnung ob MySql (wenn ja, ab welcher Version)
solche Anweisungen in subqueries untersützt ?

thx for help Nurkai
Nurkai [ Mo, 02 Juli 2007 18:17 ] [ ID #1757373 ]

Re: Spalten neu durchnummerieren (subselect)

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Andreas Kretschmer [ Di, 03 Juli 2007 08:26 ] [ ID #1758415 ]

Re: Spalten neu durchnummerieren (subselect)

> Wir haben das Problem nicht. *g*
..=2E.
> Okay, ich nutze hier eine Sequence, was es in MySQL noch nicht gibt.

Ich hoffe ich bin doch hier richtig: http://groups.google.com/group/de.com=
p=2Edatenbanken.mysql
(?!? ;-)

Trotzdem THX für Deinen Einsatz
Nurkai [ So, 08 Juli 2007 01:27 ] [ ID #1762754 ]
Datenbanken » de.comp.datenbanken.mysql » Spalten neu durchnummerieren (subselect)

Vorheriges Thema: Abfrage-Problem
Nächstes Thema: TRUE, FALSE & ERROR??