• 15-02-2023, 20:27:17
    #1
    Aşağıdaki sorgu erişim yapan üyenin ipsini dbye kaydediyor. Fakat ben lastAccessIP sütunu eğer daha önceden doldurulmuşsa ,(daha önce giriş yapılmışsa) Yeni IP'nin lastAccessIP2 sütununa kaydetmesini istiyorum. Nasıl bir düzenleme gereklidir?

    sql = "UPDATE "+tableName+" SET lastAccessIP = %s WHERE token = %s"
  • Kabul Edilen Cevap
    • 0 Beğeni
      UPDATE tbladi SET lastAccessIP2 = IF(lastAccessIP IS NOT NULL, lastAccessIP, NULL), lastAccessIP = %s WHERE token = %s;
      Birde böyle deneyin hocam olmazsa benden bu kadar
  • 15-02-2023, 20:36:39
    #2
    Sorunu tam olarak anlayamadım ama lastAccessIP adresi boş değilse yani dolduysa lastAccessIP2 sutununu güncellemekse amacın aşağıdaki gibi yapabilirsin;
    UPDATE TabloAdi Set lastAccessIP2 = "Yeni IP"
    WHERE lastAccessIP IS NOT NULL AND KullaniciID=1
    Yukarıdaki kodda Kullanıcı ID'si 1 Olan ve lastAccessIP'si boş olmayan kişinin lastAccessIP2 sütununu güncelleyecek. Buna göre kendine uyarlayabilirsin.
  • 15-02-2023, 20:43:12
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Ilk once select from ile initial ip adresinii check edip varsa 2 ye yoksa initial' a basabilirsiniz
  • 15-02-2023, 20:43:49
    #4
    Xelim adlı üyeden alıntı: mesajı görüntüle
    Sorunu tam olarak anlayamadım ama lastAccessIP adresi boş değilse yani dolduysa lastAccessIP2 sutununu güncellemekse amacın aşağıdaki gibi yapabilirsin;
    UPDATE TabloAdi Set lastAccessIP2 = "Yeni IP"
    WHERE lastAccessIP IS NOT NULL AND KullaniciID=1
    Yukarıdaki kodda Kullanıcı ID'si 1 Olan ve lastAccessIP'si boş olmayan kişinin lastAccessIP2 sütununu güncelleyecek. Buna göre kendine uyarlayabilirsin.
    bos olan icinde lastAccessIP ye basmasi gerekiyor initial olarak bu kodla cozemez genel logic' i
  • 15-02-2023, 20:51:16
    #5
    UPDATE tbladi SET lastAccessIP2 = lastAccessIP, lastAccessIP = 'yeni_ip_adresi' WHERE lastAccessIP IS NOT NULL;
    Şöyle birşey düşündüm ama bilemedim
  • 15-02-2023, 23:19:02
    #6
    Güncel hala beceremedik.
  • 16-02-2023, 00:09:33
    #7
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    UPDATE tbladi SET lastAccessIP2 = IF(lastAccessIP IS NOT NULL, lastAccessIP, NULL), lastAccessIP = %s WHERE token = %s;
    Birde böyle deneyin hocam olmazsa benden bu kadar
  • 16-02-2023, 02:33:15
    #8
    amrdvn adlı üyeden alıntı: mesajı görüntüle
    UPDATE tbladi SET lastAccessIP2 = IF(lastAccessIP IS NOT NULL, lastAccessIP, NULL), lastAccessIP = %s WHERE token = %s;
    Birde böyle deneyin hocam olmazsa benden bu kadar
    Biraz ters çalıştı ama işe yaradı hocam. Sağolasın cansın.