lostyazilim

Update içinde Insert nasıl yapılır?

5 Mesajlar 818 Okunma
lstbozum
smsonayhizmeti

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
Merhabalar arkadaşlar. Bir örnek ile açıklamak istiyorum.



foreach ile döngüye sokup o id ye ait okul adlarını çekiyorum.

Diyelim Adanaya tıklıyorum Adana ilindeki tüm okullar ayrı inputlar içerisinde listeleniyor.

Update yaparken diyelim yeni bir okul eklemek istedim, Satır ekle diyorum ve java ile yaptığım bir satır geliyor oraya yeni okul adını yazıyorum. Update sayfasındayken yeni yazdığım okul adını diğer yaptığım değişikliklerle beraber nasıl kayıt edebilirim.
 

 

wmaraci
reklam

stk27 stk27 WM Aracı Kullanıcı
  • Üyelik 16.12.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek web programcılık
  • Konum Gaziantep
  • Ad Soyad S** A**
  • Mesajlar 89
  • Beğeniler 67 / 19
  • Ticaret 1, (%0)
genel olarak kod yapını bilmediğim için mantık olarak şöyle yapabilirsin.
Yeni bir okul eklendiğinde güncelleme yapmadan önce yeni okulu ekleme işlemi yapıp hemen ardından son eklenen kayıt ID sini alıp güncelleyebilirsin
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 30 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
teknik olarak mümkün ama şöyle bir şey yaparsın, doğrudan update değil, önce bir insert kodu oluşturman lazım aşağıdaki gibi, dublicate varsa günceller, yoksa yeni okulu eklersin.



INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;

UPDATE t1 SET c=c+1 WHERE a=1;

Kaynak: https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
 

 

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)

stk27 adlı üyeden alıntı

genel olarak kod yapını bilmediğim için mantık olarak şöyle yapabilirsin.
Yeni bir okul eklendiğinde güncelleme yapmadan önce yeni okulu ekleme işlemi yapıp hemen ardından son eklenen kayıt ID sini alıp güncelleyebilirsin


Hocam son eklenen kayıt id sini neden alıyorum? Eklediğim kaydı güncellemeyeceğim. Daha önceden eklenmiş kayıtta eğer değişiklik yaptıysam güncelleyek ve kayıt işlemi varsa kayıt edecek.

kod yapım basit şekilde şöyle : 2 adet tablo var => 1. Şehir 2. Okul
Şehir tablomda s_id s_adi var.
Okul tablomda o_id o_adi s_id var.
Kayıt yaparken şehri direk kaydediyorum. okulda hangi şehir ise önce onu seçip okul tablosundaki s_id ye seçilen şehrin s_id sini atıyorum.
 

 

wmaraci
wmaraci

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)

hsntngr adlı üyeden alıntı

teknik olarak mümkün ama şöyle bir şey yaparsın, doğrudan update değil, önce bir insert kodu oluşturman lazım aşağıdaki gibi, dublicate varsa günceller, yoksa yeni okulu eklersin.



INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;

UPDATE t1 SET c=c+1 WHERE a=1;

Kaynak: https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html


Hocam daha önce hiç böyle bir kod kullanmadım. Dolayısıyla kodu anlayamadım. Açıklama imkanın var mı acaba.
 

 

wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al