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

MySQL - Тригер за актуализиране на колона в друга таблица след вмъкване, където удовлетворява други стойности

В row тригер имате достъп до две версии на реда, който се променя:OLD съдържа реда такъв, какъвто беше (ако е съществувало) и NEW съдържа реда такъв, какъвто ще бъде (ако ще съществува.)

За да накарате вашия тригер да работи, както сте описали, трябва да условите WHERE клауза, използваща стойности от NEW , така:

CREATE TRIGGER update_loyalty_points
  AFTER INSERT ON CWUserOwnsGame
  FOR EACH ROW
    UPDATE CWUsers
      SET loyaltyPoints = loyaltyPoints +
        (SELECT loyaltyPoints
          FROM CWGameList
          WHERE gameConsole = NEW.cName
            AND gameName = NEW.gName)
      WHERE username = NEW.uName;

Предполагам, че сте кръстили колоните си последователно между таблиците. Имайте предвид, че правилните колони в NEW имат същите имена като колоните в CWOwnsGame .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се генерира диаграма на Google, използвайки данни от MySQL таблица като източник на данни

  2. Как да създадете глобален конфигурационен файл?

  3. java.sql.SQLException:След края на набора от резултати в mysql

  4. MySQL заявка, 3 таблици, t1-t2 след това актуализиране на t3. Как мога да направя това по най-ефективния начин?

  5. Как мога да изведа резултати от MySQL заявка във формат CSV?