phpbar.de logo

Mailinglisten-Archive

[php] ON DUPLICATE KEY

[php] ON DUPLICATE KEY

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Son Nov 5 16:50:27 CET 2006


Hi Stephan,

Am Sonntag, 5. November 2006 16:46 schrieb Krauss:
> >hast Du Dir schon mal INSERT INTO TABLE ... SELECT ... angesehen?
> >
> >Viele Grüße
> >Lutz
>
> Hallo !
>
> Ich habe folgende Variante versucht.
>
> insert into test select * from test where wert1 = 'aaaa' ON DUPLICATE
> KEY update id = max(test.id)+1;
>
> Bei dieser SQL bekomme ich die Fehlermeldung unzulaessige
> Gruppierung. Die Idee war eine fortweahrende Suche nach
> der letzten vergebenen id.
>
> Klappt leider nicht !

anstatt ein SELECT * FROM ... mit ON DUPLICATE KEY zu machen, gibt doch 
einfach die Felder an und laß das ON DUPLICATE KEY weg. In die 
Feldliste kannst Du dann auch Dein max(test.id)+1 reinnehmen. Solltest 
Du auto_increment für das Feld id verwenden, läßt Du das Feld in der 
Feldliste einfach weg. MySQL nimmt dann automatisch die höchste id+1.

Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive