İki MySQL tablom var. Bir oylama tablosu (id, userId, postId, voteTypeId)
ve bir gönderi tablosu (id, postTypeId, userId, parentId)
tablosu. Oylara ekledikten sonra ateşleyen bir tetikleyici yazıyorum.MySQL'de farklı bir tabloyu güncellemek için nasıl bir tetikleyici kullanabilirim?
Tetikleyicinin, gönderi tablosundaki bir gönderiyi güncellemesini istiyorum. Ancak bu gönderi benim oy tablosunda postId
; Bu gönderinin ebeveyni.
BEGIN
CASE NEW.voteTypeId
WHEN 2 THEN UPDATE posts SET posts.acceptedAnswerId = NEW.postId WHERE posts.id = @the parent postId of NEW.postId
ELSE
BEGIN
END;
END CASE;
END
ben yerine @the ebeveynin bu kullanarak denedim ...:
(SELECT posts.parentId FROM posts WHERE posts.id = NEW.postId)
Ama sözdizimi INTO SELECT'te çeşit kullanmak sürece seni tetikleyiciler de seçer yapabilirsiniz sanmıyorum . Güncellemek istediğim ana gönderiye ilişkin tek referansım, oy kullanmasında alt öğesi olan çocuğunun yayınlanmasıdır. Bu yüzden, bir seçimle doğru kimliği yakalamadan güncellemeyi nasıl yapacağımı bilmiyorum.
Bu mümkün mü?
Sen aslında içinde bir tetikleyici bir SEÇ yapabilirsiniz. Diğer sözdiziminiz biraz kapalı görünüyor. – Mchl
@Mchl, Birkaç kombinasyon denedim, ama işe yaramadı. Beni yanlış yaptığım şeye işaret edebilir misin? – Mohamad