Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL po wstawieniu wyzwalacza automatycznie zwiększa wartość, aktualizacja wartości pola po wstawieniu daje nieznany błąd kolumny

Wydaje się to trochę hackerskie, ale udało mi się go uruchomić za pomocą funkcji LAST_INSERT_ID() wbudowanej w 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;

To również działa i wydaje się, że działa

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepsze praktyki mysqldump:Część 2 – Przewodnik po migracji

  2. MySQL SELECT najczęściej według grupy

  3. MySQL:ALTER TABLE, jeśli kolumna nie istnieje

  4. Kopiowanie bazy danych MySQL na inny komputer

  5. JSP/Servlets:Jak przesłać plik zip, rozpakować go i rozpakować plik CSV?