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.