Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL nach Insert-Trigger erhält automatisch erhöhten Wert, Update-Feldwert nach dem Einfügen gibt unbekannten Spaltenfehler

Das scheint ein bisschen ein Hack-Job zu sein, aber ich konnte es mit der in MySQL integrierten LAST_INSERT_ID()-Funktion zum Laufen bringen.

CREATE TRIGGER `order_guide_insert_trigger`
BEFORE INSERT ON `order_guide`
FOR EACH ROW 
BEGIN
    IF NEW.Sort_Placement IS NULL THEN
        SET NEW.Sort_Placement = LAST_INSERT_ID() + 1;
    END IF;
END;

Das funktioniert auch und scheint zu funktionieren

CREATE TRIGGER `order_guide_insert_trigger`
BEFORE INSERT ON `order_guide`
FOR EACH ROW 
BEGIN
    IF NEW.Sort_Placement IS NULL THEN
        SET NEW.Sort_Placement = (SELECT ID FROM order_Guide ORDER BY id DESC LIMIT 1) + 1;
    END IF;
END;