sql >> Database teknologi >  >> RDS >> Mysql

MySQL efter indsættelsesudløser får automatisk øget værdi, opdatering af feltværdi efter indsættelse giver ukendt kolonnefejl

Dette virker som lidt af et hack-job, men jeg var i stand til at få det til at fungere ved hjælp af funktionen LAST_INSERT_ID() indbygget 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;

Dette virker også og ser ud til at virke

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. Mysql count vs mysql SELECT, hvilken er hurtigere?

  2. RAW SQL-forespørgsel med Zend Framework

  3. PHP PDO MySQL IN (?,?,?

  4. MySQL-grænse med variabel