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

Jak zrobić wyzwalacz, który realizuje ten warunek?

Oto wyzwalacz do tego celu:

DELIMITER $$
CREATE trigger update_money_after_paym
AFTER INSERT ON paym
FOR EACH ROW
BEGIN
    IF (NEW.table1 IS NOT NULL AND NEW.table2 IS NOT NULL) THEN
        UPDATE money SET total_money = total_money + 50 WHERE username = NEW.username;
    END IF;
END;
$$
DELIMITER;

Kod zostanie uruchomiony po każdym wstawieniu do tabeli paym . Jeśli nowo wstawiony rekord zawiera obie kolumny table1 i table2 ustawiony na inny niż NULL wartości, a następnie wyzwalacz uruchamia UPDATE zapytanie, które dodaje 50 do kolumny total_money w tabeli money dla rekordu, który ma tę samą username jako nowo wstawiony rekord w paym .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. odśwież dynamiczny div php za pomocą jquery

  2. Testowanie obciążenia Golang RESTful API powodujące zbyt wiele połączeń z bazą danych

  3. Odpowiednik GROUP_CONCAT w Django

  4. Pola Jooq LocalDateTime używają strefy czasowej systemu zamiast strefy czasowej sesji

  5. Zapytanie o post i tagi w tym samym zapytaniu