auto_increment bei update

  • geschlossen

  • mstup
  • 951 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • auto_increment bei update

    hi!
    habe eine tabelle mit folgender struktur:

    id | ida | xxx | yyy | zzz

    ida ist ein auto_increment
    es besteht ein index über die zwei spalten id und ida.

    angenommen diese datensätze sind in der tabelle:

    1 | 1 | xxx | yyy | zzz
    1 | 2 | xxx | yyy | zzz
    2 | 1 | xxx | yyy | zzz

    jetzt möchte ich den 2. datensatz updaten, sodass der wert von id=2

    wie muss der UPDATE befehl aussehen, dass ida mit auto_increment erhöht wird und die datensätze so aussehen:

    1 | 1 | xxx | yyy | zzz
    2 | 1 | xxx | yyy | zzz
    2 | 2 | xxx | yyy | zzz

    schon jetzt danke für eure hilfe!
  • Hi,
    das geht so nicht. auto_increment wird ausschließlich beim Hinzufügen in die Datenbank angesprochen.

    Für dich wäre ein "Trigger" interessant. (Du musst natürlich das trigger-Recht, bzw. vor 5.1.6 das Super-Recht besitzen)
    Bsp.

    Quellcode

    1. CREATE TRIGGER `test1`
    2. BEFORE UPDATE ON `deine_tabelle`
    3. FOR EACH ROW BEGIN
    4. SET NEW.`id` = (OLD.`id`+1);
    5. end;


    Mehr dazu findest du hier: MySQL :: MySQL 5.1 Referenzhandbuch :: 20.1 CREATE TRIGGER

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.