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

MySQL Trigger tidak dapat memperbarui tabel - mendapatkan ERROR 1442

Gejala adalah, bahwa Anda menjalankan UPDATE (untuk semua baris) di dalam INSERT trigger - keduanya memodifikasi tabel, yang tidak diperbolehkan.

Yang mengatakan, jika saya menebak niat pemicu Anda dengan benar, Anda tidak ingin memperbarui semua baris, tetapi hanya baris yang baru dimasukkan. Anda dapat mencapainya dengan mudah dengan

CREATE TRIGGER sum
BEFORE INSERT
ON news
FOR EACH ROW
SET NEW.sum = (NEW.int_views + NEW.ext_views)/NEW.pageviews

Perhatikan bahwa ini adalah BEFORE INSERT pemicu, karena Anda ingin mengubah baris sebelum ditulis ke tabel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tutorial SQL Kunci Utama – Cara Mendefinisikan Kunci Utama dalam Basis Data

  2. MySQL - bagaimana cara menyimpan waktu dengan zona waktu yang benar? (dari Jawa)

  3. MySQL - Menghitung dua hal dengan kondisi berbeda

  4. kesalahan 1064 (42000) saat mencoba menjalankan perintah mysqldump

  5. Hubungkan MySQL dengan Python 3.6