Mysql
 sql >> база данни >  >> RDS >> Mysql

INSERT и UPDATE в една заявка MYSQL

Ако използвате тригерен подход, тогава ще ви трябват два тригера (за вмъкване и изтриване)

CREATE TRIGGER tg_ai_orders
AFTER INSERT ON orders
FOR EACH ROW
  UPDATE bands 
     SET stock = stock - 1
   WHERE band_id = NEW.band_id;

CREATE TRIGGER tg_ad_orders
AFTER DELETE ON orders
FOR EACH ROW
  UPDATE bands 
     SET stock = stock + 1
   WHERE band_id = OLD.band_id;

Ето SQLPiddle демонстрация




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Формат на променливата на MySQL за списък със стойности NOT IN

  2. Инструкция COUNT CASE и WHEN в MySQL

  3. Най-добрият начин да получите първия и последния ден от миналия месец?

  4. Къде трябва да съхранявам външен ключ?

  5. Защо използването на IN(...) при избор на индексирани полета ще убие производителността на заявката SELECT?