sql >> Database >  >> RDS >> Mysql

MySQL na invoegtrigger krijgt automatisch verhoogde waarde, update veldwaarde na invoegen geeft onbekende kolomfout

Dit lijkt een beetje een hackklus, maar ik kon het werkend krijgen met de functie LAST_INSERT_ID() die in MySQL is ingebouwd.

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;

Dit werkt ook en lijkt te werken

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;


  1. Aan de slag met Oracle LiveSQL

  2. Php - Uw PHP-installatie lijkt de MySQL-extensie te missen die vereist is voor WordPress

  3. Optimaliseren SELECTEER ... WAAR IN (...)

  4. SELECT INTO werkt niet