Php ve MySQL 'i yeni yeni öğreniyorum. Veritabanına veriler giriyorum ancak bu verileri düzenlemek istediğimde sorun yaşadım. sorunum bir yazım hatası mı, yoksa mantıksal hata mı anlayamadım. Yapmak istediğim şu.
UPDATE komutnu öğrenmek için bulduğum örnekler şuna benziyor.
UPDATE tablo_adi SET sutun_adi = yeni_deger WHERE sutun_adi = gecerli_deger
Ben burada SET ten sonraki kısımda birçok alan değiştireceğim.
Yani benim SQL kodum şuna benzeyecek. UPDATE tablo_adi SET sutun1=$yeni1,sutun2=$yeni2,sutun3=$yeni3 WHERE no=$no
altı çizili olanlar PHP değişkenlerim. WHERE kısmından sonraki no alanı Tekrarı olmayan Autoincrement veri tipine sahip. düzenlemek istediğim satırı seçerken o satırın no alanında ki değerini alıp sadece o alanı değiştiriyorum.
ama bunu yaptıgım zaman değişikliği bir türlü yapmıyor, acaba sorun nerede yardımcı olabilir misiniz? birçok kitap ve internet sitesi araştırdım ancak UPDATE komutu iple ilgili hep ilk yazdıgım ornege benzer veriler kullanılmış.
< Bu mesaj bu kişi tarafından değiştirildi MaviAteş -- 13 Temmuz 2006; 11:22:03 >
Bu başlık altında sormak doğru mu bilmiyorum ama, 2 adet sütunu
UPDATE urunler SET kategori_id=$kategori_id,urun_adi='$urun_adi' WHERE urun_id=$urun_id
şeklinde update etmek kolay. 2 adet sütun düzenleniyor. Peki diyelim ki 15 tane sütunu güncelleyeceğiz. hepsini teker teker UPDATE urunler SET ............ where urun_id=$urun_id şeklinde yazmak zorundamıyız yoksa daha kolay bir yolu var mı?
Bu başlık altında sormak doğru mu bilmiyorum ama, 2 adet sütunu
UPDATE urunler SET kategori_id=$kategori_id,urun_adi='$urun_adi' WHERE urun_id=$urun_id
şeklinde update etmek kolay. 2 adet sütun düzenleniyor. Peki diyelim ki 15 tane sütunu güncelleyeceğiz. hepsini teker teker UPDATE urunler SET ............ where urun_id=$urun_id şeklinde yazmak zorundamıyız yoksa daha kolay bir yolu var mı?
Sql temel olarak küme işlemleri yapar. yani yaptığın her kısıtlama her işlem basit bir küme işlemidir. şunları güncelle (alanlar değerler) nerede (where) küme şartın. yani urun_id = 'xxx' .yani senin kümen urun_id leri xxx lere eşit olanların oluşturduğu kümedir. bu şekilde düşünürseniz daha rahat kavrayabilirsiniz
Anlatmak istediğim 3 tabloyu birleştirmek için uzun uzun bunları yazmak gerekir mi? yani alttaki sorguyu çalıştırdığımda evet doğru şeyler geliyor. ama bu kullanım kötü mü yoksa normal bir kullanım mı?
select id,uyeadi,adi,soyadi,email,adresadi,ilgili,tel1,tel2,adres,haber,kayittarihi,adres_il.il,adres_ilce.ilce from uyeler,adres_il,adres_ilce where adres_il.no=uyeler.ilno and adres_ilce.no=uyeler.ilceno and adres_il.no=adres_ilce.il order by id
Anlatmak istediğim 3 tabloyu birleştirmek için uzun uzun bunları yazmak gerekir mi? yani alttaki sorguyu çalıştırdığımda evet doğru şeyler geliyor. ama bu kullanım kötü mü yoksa normal bir kullanım mı?
select id,uyeadi,adi,soyadi,email,adresadi,ilgili,tel1,tel2,adres,haber,kayittarihi,adres_il.il,adres_ilce.ilce from uyeler,adres_il,adres_ilce where adres_il.no=uyeler.ilno and adres_ilce.no=uyeler.ilceno and adres_il.no=adres_ilce.il order by id
henüz pratikte pek iyi değilim sanırım..
eve açıkça belirtmende fayda var...ancak bazı zamanlar joinler kullanılırken amaca göre left ,right ,outer ,inner gibi özelliklerinin belirtilmesi gerekir.. sql joinleri konusunu internetten araştırırsan daha yararlı olabilir
sorunum bir yazım hatası mı, yoksa mantıksal hata mı anlayamadım. Yapmak istediğim şu.
UPDATE komutnu öğrenmek için bulduğum örnekler şuna benziyor.
UPDATE tablo_adi SET sutun_adi = yeni_deger WHERE sutun_adi = gecerli_deger
Ben burada SET ten sonraki kısımda birçok alan değiştireceğim.
Yani benim SQL kodum şuna benzeyecek.
UPDATE tablo_adi SET sutun1=$yeni1,sutun2=$yeni2,sutun3=$yeni3 WHERE no=$no
altı çizili olanlar PHP değişkenlerim. WHERE kısmından sonraki no alanı Tekrarı olmayan Autoincrement veri tipine sahip.
düzenlemek istediğim satırı seçerken o satırın no alanında ki değerini alıp sadece o alanı değiştiriyorum.
ama bunu yaptıgım zaman değişikliği bir türlü yapmıyor, acaba sorun nerede yardımcı olabilir misiniz?
birçok kitap ve internet sitesi araştırdım ancak UPDATE komutu iple ilgili hep ilk yazdıgım ornege benzer veriler kullanılmış.
< Bu mesaj bu kişi tarafından değiştirildi MaviAteş -- 13 Temmuz 2006; 11:22:03 >