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

Przed / po wyzwalaczu wstawiania przy użyciu pola automatycznego przyrostu

Jedynym sposobem, w jaki znalazłem, aby uzyskać nową wartość przyrostu, nie jest wymyślna forma. Założyłem, że wstawiasz nową wartość, więc ma to być maksymalny id + 1:

CREATE TRIGGER mytrigger BEFORE INSERT ON yourtable 
FOR EACH ROW BEGIN
SET NEW.thread_id = IF(
ISNULL(NEW.thread_id), 
(SELECT MAX(id) + 1 FROM yourtable), 
NEW.thread_id);
END;

Zadziałało w moim przypadku, jeśli jest NULL, otrzyma maksymalny identyfikator + 1, który będzie nowym identyfikatorem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz pliki z bazy danych MYSQL

  2. Jak przechowywać wynik zapytania w zmiennej za pomocą mysql

  3. jak wyprowadzić tabelę klasyfikacji w locie z tabeli mysql wyników piłkarskich [soccer]?

  4. Funkcja zapytania MySQL węzła nie zwraca wyniku

  5. Jak mogę ustawić datę MySQL z ciągiem takim jak 2015-07-30 18:32:18?