2012-07-17 30 views
10

Bir tetikleyici oluşturmak ve sonra böyle bu konuda bilgileri gösterebilir:Mevcut bir mysql tetikleyiciyi oluşturulduktan sonra değiştirebilir misiniz? <code>mysql</code> yılında

mysql> show triggers like 'fooTrigger'; 

Bu komut eşleştirme tetiği gösteren bir satır olacak şekilde bir select deyimi gibi bir sürü kötü görünüyor çıkış verir. Bana gösterdiği satırdaki bir sütunu güncellemek mümkün mü? Örneğin, bir sütun Statement olarak adlandırılır ve tetik etkinleştirildiğinde ne olacağını tanımlar. Statement alanını fooTrigger için değiştirmek mümkün mü, tetikleyici farklı bir şey mi yapıyor? Ya da drop ve re-create tetiğine ihtiyacım var mı?

+1

http://stackoverflow.com/questions/717711/is-it-true-i-cant-edit-a-mysql-trigger-i-have-to-drop-it-and-create- sitesinin olası kopyası a-new-one – qbantek

+0

Bu sorulardan birinin kapalı olabileceğini düşünüyorum, ama * bu soruyu sormadan önce bu cevabı aramayı denedim ve yukarıdaki bağlantıyı bulamadım. Diğer soruya daha fazla katlanılabilir hale getirmek için bazı ifadeleri değiştirmek veya eklemek iyi bir fikir olabilir mi? –

+0

Hmmm, http://meta.stackexchange.com/questions/32311/do-not-delete-duplicates, muhtemelen bunu kapatmak zorundayız gibi görünüyor, ve sonra kullanıcılar sorularına cevap bulmaksızın yine de ifadeler. –

cevap

16

MySQL 5.5'ten itibaren, tetikleyiciyi düşürmeniz ve yeniden oluşturmanız gerekir.
Tetikleyiciyi düşürmeden Statement sütununu güncellemek mümkün değildir.

Dokümantasyon: Bu tablo görünümleri aslında oldukları gibi, onlara UPDATE kullanamaz,

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS 

Ama: CREATE TRIGGERDROP TRIGGER

Ayrıca ınformatıon_schema tabloları kullanarak tetikleyiciler hakkında bilgilere erişebilir.
Bilgilere erişmek ve SHOW TETIKLERI kullanmadan daha kullanışlı bir yöntemdir.

Dokümantasyon: Windows işletim sistemi üzerinde Sen gerektirebilir INFORMATION_SCHEMA.TRIGGERS

0

, Connector/Net Visual Studio Integration görüntülemek ve veritabanı nesnesini varolan düzenleyin. Sınırlama, For each row ... döngüsünde yalnızca edit trigger bedenini kullanabilmenizdir. Aksi takdirde sadece bir seçenek düşer ve tetikleyiciyi yaratır.
Ancak, bir tetikleyici ile ilişkilendirilen tablonun kilitli ve
olduğunu ve tetikleyici yeniden oluşturulduktan sonra kilidi açıldığından emin olun.

İlgili konular