Tablodan herhangi bir kayıt seçtiğim her seferinde X tablosuna bir insert ifadesi çalıştırmaya çalışıyorum Y sadece MYSQL'i kullanarak bunu başarabildiğim var mı? Tetikleyiciler gibi bir şey? örtük bunu sana - Bir saklı yordam (bir günlük dosyası veya her ne gibi veya günlüğü tesis başka türde) oluşturmanız gerekir - Eğer SELECT tetiklemek olamaz - mysql'de select deyiminde bir tetikleyici başlatabilir miyim?
16
A
cevap
20
Kısa yanıt Hayır. Tetikleyiciler, INSERT
, UPDATE
veya DELETE
ile tetiklenir.
Olası çözüm:
- Birincisi, yazma bazı saklanan prosedürler
SELECT
s - Sonra tablo X'te istiyorum kısıtlamak tüm kullanıcılar sadece kullanmak için ne bu saklı prosedürler ve değil onları da saklı bir çağrı masanın
- Sonra depolanan prosedürleri değiştiriliyor X. üzerinde
SELECT
kullanmasına izin yapmak 'un istediğiniz işlemi (INSERT
ya da her neyse) gerçekleştirir.
4
Hayır, teşekkür ederim Herhangi bir sorgu deyiminde arama yapın - sorgunuzu çağıran bir sarıcı oluşturursanız, günlüğe kaydetmeyi çağırır ve sorgu sonuçlarını döndürürse daha kolay olur.
İlgili konular
- 1. C'deki bildiriden sonra bir dizi başlatabilir miyim?
- 2. "IN" MySQL deyiminde joker karakterler kullanabilir miyim?
- 3. Programda java web başlatmayı başlatabilir miyim?
- 4. Bir global değişkeni bir işlev çağrısıyla başlatabilir miyim?
- 5. Bir klasör açıldığında otomatik olarak bir görev başlatabilir miyim?
- 6. Etkinlik veya alıcı olmadan bir hizmet başlatabilir miyim?
- 7. CAST işlevini bir MySql SELECT deyiminde nasıl kullanırım?
- 8. BCL değişmez koleksiyonunu parantez kullanarak başlatabilir miyim? Eskiden
- 9. SQL CE select deyiminde boolean (bit) değerini geri döndürme
- 10. Bu önemsiz SlamData SELECT deyiminde sözdizimi hatası açıklayan var mı?
- 11. SQL: Aynı select deyiminde bir işlevde bir sütunun takma adı kullanma Sadece bir Select deyimi basitleştirmek çalışıyorum
- 12. ActiveRecord .select(): Eski seçimleri temizleyebilir miyim?
- 13. MySQL tetikleyici
- 14. Tabloya eklerken select ifadelerini kullanabilir miyim?
- 15. Bir CASE deyiminde INSERT INTO INTOSIF
- 16. JDBCTemplate'dan in() deyiminde kullanmak için bir liste parametresi genişletmesini isteyebilir miyim?
- 17. Bir std :: reference_wrapper <T>'u başlatabilir miyim, T tamamlanmamış bir türüdür?
- 18. IF deyiminde SCOPE_IDENTITY değişkenini
- 19. Bir satırdaki birden fazla etiketi başka bir tablodan select deyiminde değiştirin
- 20. MySQL SELECT alanında alan oluştur
- 21. Basit bir nesne kullanarak gidonlarda select-2 etiketini kullanabilir miyim?
- 22. Rails API'sı ile bir INSERT SELECT işlemini yapabilir miyim?
- 23. Coffeescript: beklenmedik bir anahtar deyiminde
- 24. uygun tetikleyici?
- 25. , Eclipse'de Android emülatörünü başlatabilir Hata
- 26. Bir LINQ deyiminde birden fazla birleştirme yapılması
- 27. Bir sonucu/match/for deyiminde sonucu yeni bir değişkene bağlamadan bir tuple atayabilir miyim?
- 28. Tetikleyici Jenkins, belirli bir alana
- 29. FirstOrDefault davranışı doğrudan LINQ deyiminde
- 30. Belirli bir sütun için tetikleyici takın
Kısa cevap ** Hayır **. Tetikleyiciler "INSERT", "UPDATE" veya "DELETE" ile tetiklenir. –
Tamam, başka bir çözümün var mı? –
Seçimlerdeki her satırın güncellenmesi, toplu işlemlerde performans baş ağrısına neden olabilir. Bunu yapmak için mantıklı olan işlemler için bir last_accessed zaman damgasını özellikle güncellemek en iyisidir. –