Saya mempunyai jadual gabungan dengan 2 jadual (A dan C) dengan hubungan n:m. Jadual gabungan (B) juga mengandungi beberapa maklumat.
A ----- B ------ C
Dalam jadual A, saya mempunyai lajur apabila_diubah suai yang saya sentiasa mahu sentiasa dikemas kini jika ada perubahan. Ini harus termasuk perubahan pada Jadual B.
Jadi saya mempunyai pencetus prakemas kini pada jadual B dengan pertanyaan berikut
UPDATE A SET when_modified = NOW() WHERE id = NEW.id;
Masalahnya ialah, jika saya kini melaksanakan pertanyaan kemas kini (sertai pada B), saya mendapat ralat berikut
Tidak boleh mengemas kini jadual 'A' dalam fungsi/pencetus yang disimpan kerana ia sudah digunakan oleh pernyataan yang memanggil fungsi/pencetus tersimpan ini.
Update B vv JOIN A v on vv.id = v.id SET vv.block = 1 WHERE v.status = 'finished'
Anda perlu menulis semula kenyataan KEMASKINI.
Anda tidak boleh mengemas kini dalam pencetus atau ini mungkin berlaku. Gelung tak terhingga
Tetapi perubahan mudah akan memberi kesan yang sama
Violin