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

UPDATE Baris yang Sama Setelah UPDATE di Trigger

Anda tidak dapat memperbarui baris dalam tabel dalam setelah pemicu pembaruan.

Mungkin Anda menginginkan sesuatu seperti ini:

CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
    SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);

EDIT:

Di dalam pemicu, Anda memiliki akses ke OLD dan NEW . OLD adalah nilai lama dalam catatan dan NEW adalah nilai-nilai baru. Dalam sebelum pemicu, NEW nilai adalah apa yang ditulis ke tabel, sehingga Anda dapat memodifikasinya. Dalam setelah pemicu, NEW nilai telah ditulis, sehingga tidak dapat diubah. Menurut saya dokumentasi MySQL menjelaskan ini dengan cukup baik.



  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 UPDATE dan SELECT dalam satu pass

  2. MySQL menghapus duplikat dari database besar dengan cepat

  3. 1114 (HY000):Meja sudah penuh

  4. Apa kesalahan root di balik Gagal membuat koneksi database. Periksa string koneksi, nama pengguna dan kata sandi.

  5. Tidak dapat menemukan kelas [org.springframework.orm.hibernate5.LocalSessionFactoryBean] untuk kacang dengan nama 'hibernate5AnnotatedSessionFactory'