sql >> Databasteknik >  >> RDS >> Mysql

MySQL efter infogningsutlösare får automatiskt ökat värde, uppdatera fältvärde efter infogning ger okänt kolumnfel

Det här verkar vara lite av ett hackjobb men jag kunde få det att fungera med funktionen LAST_INSERT_ID() inbyggd i MySQL.

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;

Detta fungerar också och verkar fungera

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. NULLIF() Funktion i Oracle

  2. Jag måste dra data baserat på dess exakta sekvens i en array

  3. Mysql multiplikationsfråga

  4. Hur skriver man en SQL-fråga som räknar antalet rader per månad och år?