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

Pemicu MySQL saya tidak berfungsi, sintaks sederhana, tidak rumit

Fungsi atau pemicu yang disimpan tidak dapat mengubah tabel yang sudah digunakan (untuk membaca atau menulis) oleh pernyataan yang memanggil fungsi atau pemicu.

dari:Pembatasan program yang disimpan .

Umumnya dengan pemicu yang diaktifkan saat penyisipan, jika Anda ingin mengubah nilai yang sedang dimasukkan, Anda membuat pemicu dengan tipe BEFORE INSERT dan ubah nilainya di NEW

juga memperhatikan bahwa pernyataan berikut bukanlah yang Anda inginkan.

update pos_table set PTS=((NEW.won_games*2)+(NEW.tie_games*1));

Ini memperbarui seluruh tabel sementara saya pikir Anda hanya mencoba memperbarui baris sepcific. Bagaimanapun, ini adalah perhitungan sederhana sehingga Anda tidak perlu menyimpan kolom ini. Anda dapat dengan mudah menghitung nilai pada waktu tampilan dan membuat kode Anda jauh lebih sederhana + menghindari masalah dengan pemicunya.



  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 - Bagaimana cara SUM kali?

  2. Bagaimana menjadwalkan prosedur tersimpan di MySQL

  3. #1055 - Ekspresi daftar SELECT tidak ada dalam klausa GROUP BY dan berisi kolom yang tidak diagregasi, ini tidak kompatibel dengan sql_mode=only_full_group_by

  4. kesalahan sintaks readyStatement

  5. Bagaimana ClusterControl Mengonfigurasi IP Virtual dan Apa yang Diharapkan Selama Failover