MySQL Trigger oluşturma

1 Cevap php

Ben başka bir tabloda bir PK bir auto_increment değeri INSERT gereken bir uygulama var. PHP bunu nasıl biliyorum, ama ben program mantığı değiştiremezsiniz çünkü ben bu DB düzeyde yapılması olması gerekir.

Ben tetikler için yeni, bu yüzden bu biri için kolay bir cevap olacaktır eminim. İşte ben bugüne kadar ne var:

DELIMITER //
     CREATE TRIGGER new_project AFTER INSERT ON m_quality_header
     FOR EACH ROW
     BEGIN
         INSERT INTO m_quality_detail (d_matl_qa_ID) VALUES  (NEW.h_matl_qa_ID);
     END//
DELIMITER ;

Ben sadece d_matl_qa_ID yeni bir rekor olarak eklenecek h_matl_qa_ID gelen auto_increment değerini istiyorum. Ben almak hatadır:

"This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'

Ama tetiği vardır tablosunu güncelleştirmek için istemiyorum, neden benim geçerli kod bir 'çoklu' tetikleyici olarak kabul edilir?

Ben PHP kodu değiştirebilirsiniz varsa bu bir CentOS 5 sunucu (64-bit Intel) MySQL 5.0.45-7.el5 çalışan üzerinde olduğunu, ancak son çare olması gerekir.

1 Cevap

Devletler yukarıda outis gibi, önce tetikleyici oluşturmak için denedim eğer komutu olabilir

SHOW TRIGGERS;

ve o size söyleyecektir.

Bu durumda, ne ben genellikle yapmak konudur

DROP TRIGGER IF EXISTS my_trigger_name;

ve sonra tetiğe yeniden.

Sizin tetik kodu, aksi Tamam görünüyor.