Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Primary keyler

Konu, 'Veritabanları' kısmında nihal tarafından paylaşıldı.

  1. nihal

    nihal Aktif Üye

    Kayıt:
    8 Ocak 2003
    Mesajlar:
    286
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar,

    ben dört alanıda primary key ve toplamdada 4 alndan oluşan bir tablomda düzenleme yapmak istediğimde doğal olarak her alan primary key olduğu için herhangi bir update ..... cümlesi çalıştırmaya kalktığımda hata ile karşılaşıyorum..
    Bu tablo ile ilgili düzenlemeyi acaba değişiklik yapılan kayıtları tablodan silip yeni kayıt giriliyormuş gibi mi yapmak gerekiyor..
    başka türlü olmayacak gibi..

    başka bir fikri olan var mı?
     
  2. acemi

    acemi Misafir

    Bircok sekilde yapilabilir.

    * Eger iliskili tablolarda sorun cikmayacaksa gecici olarak Primary Key ozelligini kaldirabilirsin. Update islemi bittikten sonra tekrar Primary Key'i yaratirsin.

    * Veya Primary Key'i olusturan alanlardan birisini oncelikle:

    UPDATE TabloAdi
    AlanAdi = AlanAdi + "xxxx"

    diye degistirilsin. Sonra yapman gereken update islemlerini yaparsin. Update yaptigin kayidin "xxxx" olan kismini silersin. Eklenen "xxxx", degisiklik yaptigin kayitlarin, diger bir kayitla ayni olmasini engelleyecegi icin Primary Key kurallari ihlal edilmemis olur.



    Konuyla dogrudan alakali degil ama 4 alanli bir Primary Key kullanmak pek dogru gelmedi. Onun yerine, autonumber (veya kullandigin veritabanina gore serial, auto-increment v.b.) bir alani Primary Key yapip, 4 alani kaplayan bir Unique Index kullanmak daha mantikli.
     
  3. acemi

    acemi Misafir

    Tabii hepsinden once yedek (backup) alirsin :)