Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL - Pemicu untuk memperbarui Kolom di tabel lain setelah memasukkan yang memenuhi nilai lain

Dalam row pemicu Anda memiliki akses ke dua versi baris yang sedang dimodifikasi:OLD berisi baris seperti sebelumnya (jika ada), dan NEW berisi baris seperti yang akan (jika itu akan ada.)

Untuk membuat pemicu Anda berfungsi seperti yang Anda jelaskan, Anda harus mengkondisikan WHERE klausa menggunakan nilai dari NEW , seperti ini:

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;

Saya berasumsi bahwa Anda telah menamai kolom Anda secara konsisten di antara tabel. Perhatikan bahwa kolom yang benar di NEW memiliki nama yang sama dengan kolom di 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. MySQL - Pilih kolom dari tabel lain melalui tabel referensi

  2. MYSQL:Perbarui nilai dari Query

  3. PHP/MySql Pilih Komentar yang Dikelompokkan dengan Balasan

  4. Mendapatkan perbedaan waktu yang tepat dari bidang datetime MYSQL

  5. Cara mendapatkan komentar kolom dari SQL