Tema düzenleyici

Çözüldü Xenforo SQL sorgusu ile silinen kullanıcının ID'si ile mesaj ve konularını silme.

enessenturk

New member
Katılım
24 Ocak 2022
Mesajlar
6
Tepki puanı
4
Puanları
3
Konu sahibi
Merhaba kullanıcıyı sildik, ID'si var ancak bir dünya mesajı var ve açılan tüm konuları ve mesajları silmemiz gerekiyor. Nasıl yapabiliriz? SQL sorgusu ile ID'si ile açılan konular ve mesajları silebilir miyiz? Teşekkürler.
 
Bilgi Kaynak Erişimi
https://xentr.net/
Çözüm
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Kullanıcıyı Hard Delete silmediyseniz,
Örneğin kullanıcımız silindikten sonraki adı Deleted member 3 ise,
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


Bu kullanıcıya ait mesajları silmek için çalıştırmanız gereken kod;

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Bu kullanıcıya ait konuları silmek için çalıştırmanız gereken kod,

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


Kullanıcıyı Hard Delete sildiyseniz,
Kullanıcı Adı aynen kalmıştır. Biz şimdilik buna DELETEDUSERNAME diyelim,

Bu kullanıcıya ait...
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Bu gibi durumlarda; (örneğin hesabının silinmesini isteyen kullanıcılar olması durumunda)
Uygulanması gereken doğru süreç şu şekildedir.

(Kullanıcı Deleted User state durumuna alınır.)
Bunu ACP (AdminCP) üzerinden yapmalısınız, sistem otomatik olarak silinen kaçıncı üye ise bunu benzersiz olarak verdiği ID ile kendi sağlar.

Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!



SQL ile yapacağım derseniz bir örnek vereyim,

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Tabi bunun ardından ikinci işlem olarak,

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Yukarıda yer alan kod silinen bir kullanıcının ID'si ziyaretçiye eşitler böyellikle bazı eklentilerde silinen veriler için hata alma şansınız minimuma düşer.

Bu sürecin ardından bu kullanıcının açtığı konuları dilerseniz SQL ile dilerseniz ACP üzerinden görünümden kaldırılacak şekilde silmeniz en doğru olandır.
Hard delete işlemini uygulamanızı mevcut verilerin bir çok tabloyu etkilediği için gerçekleştirmenizi önermeyiz.

Saygılar.
 
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Bu süreçlerde biz konu kilitlemiyoruz, çünkü doğru işlem adımlarının eksiksiz olarak konuda yer alabilmesi başka arkadaşlarımıza da ileriye dönük çözüm ve bilgi kaynağı olabilir.
Uyguladığınız SQL sorguyu dilerseniz paylaşabilirsiniz.

Bende müsait olduğumda doğru olanı konuya ekleyeceğim.
Saygılar.
 
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Kullanıcıyı Hard Delete silmediyseniz,
Örneğin kullanıcımız silindikten sonraki adı Deleted member 3 ise,
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


Bu kullanıcıya ait mesajları silmek için çalıştırmanız gereken kod;

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Bu kullanıcıya ait konuları silmek için çalıştırmanız gereken kod,

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


Kullanıcıyı Hard Delete sildiyseniz,
Kullanıcı Adı aynen kalmıştır. Biz şimdilik buna DELETEDUSERNAME diyelim,

Bu kullanıcıya ait mesajları silmek için çalıştırmanız gereken kod;
SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Bu kullanıcıya ait konuları silmek için çalıştırmanız gereken kod,

SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!

Gelelim sürecin başından bu yana kullanıcı ID'si ni biliyorum demenize,
XenForo , içerik tablolarının hiç birinde silinen bir kullanıcı ID'si PositiveInteger olarak tutmaz ve 0 a eşitler.

O yüzden burada ben ID'si ni biliyorum demeniz bize bir fırsat sağlamıyor, çünkü o kullanıcı XF için çoktan Set=0
Gelelim bu durumun bizim için eksilerine,

  • Daha önce silinmiş bir çok kullanıcının ID'si de 0 dır
  • Çalıştıracağınız SQL kod tüm bu silinen ama içeriği kalan kullanıcıları etkiler
  • Set=0 olan bir kullanıcının açtığı konuyu (Sadece Konuyu) asla Hard Delete ile temizleyin! (Bu sizi veri tabanınızda anlamsız hatalara götürebilir.)

Tüm bu uyarılardan sonra yedeğinizi alarak aşağıda yer alan sorguyu çalıştırabilirsiniz,

Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!


SQL:
Dear Guests, welcome! Please, Giriş Yap or Kayıt Ol to view hide content!
 
Çözüm
Konu sahibi
Anladım kullanıcıyı hard delete yaptım hiç bir şekilde hesabına girilmiyor ancak ismi aynı. Bu kodları çalıştırırsam sorun çözülecek diye umuyorum. Ek olarak kullanıcının profillere yazdığı mesajları da sileceğimiz bir sorgu var mı acaba? Çok teşekkürler.
 
Quick Jump
Geri
Üst