Mysql'de bir adet tablom mevcut. Örneğin 1,2,3,4,5 olarak id alanım var. 4 ü silince id'si 5 olan alanı 4 olarak almak istiyorum. Nasıl yapabilirim ?

soruldu: 21 Şub '14, 09:16

teomandroid's gravatar image

teomandroid
0446
cevap kabul oranı: 0%

Böyle birşey ne için lazım? Zira ilişkili veritabanlarında id alanı değişmez/değişmemeli.

(21 Şub '14, 09:27) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

Bağımlı tablolardaki constraints(bağımlılıkları)silmeniz gerekmektedir lakin pek önereceğim bir durum değildir. Hatta kayıt silmeyide pek önermem, deleted gibi boolean bir alan yaratıp 0 , 1 'e kayıtları çekiniz.

Contraints bazlı silme işlemi için ise en başta tabloyu oluşturan sql scriptinizde

"FOREIGN KEY (parent_id)
        REFERENCES parent(id)
        ON DELETE CASCADE"

gibi olmalıdır.

Değil ise programatik olarak olarak bağımlılıkları çekip, child tablolardan silerek işlemi yaparsınız buda diğer tablolardaki silinen child tablodaki verilerdeki bağımlılıkları etkileyeceğinden veri yapınızı bozacaktır.

permanent link

cevaplandı: 21 Şub '14, 09:55

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

değiştirildi: 21 Şub '14, 09:56

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×144

Soruldu: 21 Şub '14, 09:16

Görüntüleme: 604 kez

Son güncelleme: 21 Şub '14, 09:56

powered by BitNami OSQA