Gero: Subselect in Insert-Zuweisung

Hallo,

ich nutze MySQL und möchte einen folgenden Query ausführen:

  
INSERT INTO tabelle SET schluessel = ((SELECT MAX(groesse) FROM tabelle)+1);  

Vulgo: Setze für schluessel den Maximalwert von groesse + 1.

Was mache ich falsch?

Beste Grüße, Gero

  1. yo,

    Was mache ich falsch?

    falls es sich um einen PK handelt und du jedesmal willst, dass sich der wert um eins erhöht, solltest du vielleicht an die möglichkeit einer autoincrementierung denken. macht vieles leichter...

    Ilja

    1. Hi Ilja,

      falls es sich um einen PK handelt und du jedesmal willst, dass sich der wert um eins erhöht, solltest du vielleicht an die möglichkeit einer autoincrementierung denken. macht vieles leichter...

      das macht hierbei leider keinen Sinn, die Werte ändern sich ständig.
      Ein auto-increment kommt demzufolge nicht infrage.

      Gero

      1. yo,

        das macht hierbei leider keinen Sinn, die Werte ändern sich ständig.

        schlüsselwerte, die sich ständig ändern ?

        Ilja

  2. echo $begrüßung;

    INSERT INTO tabelle SET schluessel = ((SELECT MAX(groesse) FROM tabelle)+1);

      
    [Another restriction is that currently you cannot modify a table and select from the same table in a subquery. This applies to statements such as DELETE, INSERT, REPLACE, and UPDATE.](http://dev.mysql.com/doc/mysql/en/subqueries.html)  
      
      
    echo "$verabschiedung $name";