• 14-04-2009, 16:38:34
    #10
    Satırlar	id
    1	6454
    1	6455
    1	6456
    1	6457
    1	7781
    1	7785
    net olarak 12 bin boş id var bunları manuel olarak yapmak çok zor daha basit bir yöntemi yokmudur acaba ?
  • 14-04-2009, 16:45:33
    #11
    Üyeliği durduruldu
    Nescafem adlı üyeden alıntı: mesajı görüntüle
    Satırlar	id
    1	6454
    1	6455
    1	6456
    1	6457
    1	7781
    1	7785
    net olarak 12 bin boş id var bunları manuel olarak yapmak çok zor daha basit bir yöntemi yokmudur acaba ?
    tek sql ile toplu olarak ileri alabilirsiniz arada 6000 boşluk olduğunu düşünürsek

    update tablo set id = id + 6000  where id >12000
    gibi

    ama bu işlemin tersi yani geri almada hata verir. Ondan dolayi geri alma işlemini manuel kod yazarak yapmanız gerekir
    şöyleki

    $result = mysql_query("select * from tablo where id > 6000 order by id ");
    while($row = mysql_fetch_array($result) ){
    mysql_query(""update tablo set id = id - 6000 where id = ".$row["id"]."");
    }
    mantık olarak düşünürseniz böyle yapmamizin nedeni mevcut kullanilan id üzerine atama yapamazsiniz.

    yani 6000 numarali id var ise. id = id -6000 dediginizde 6000 e denk geliyorsa sql calismaz hata verir. manuel elle ilk kayittan küçülterek giderseniz calisir.

    arttırmak için ise id nin büyük degeri boş olduğu için hata vermeden normal calisir
  • 14-04-2009, 17:08:12
    #12
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    tek sql ile toplu olarak ileri alabilirsiniz arada 6000 boşluk olduğunu düşünürsek
    update tablo set id = id + 6000  where id >12000
    gibi
    ama bu işlemin tersi yani geri almada hata verir. Ondan dolayi geri alma işlemini manuel kod yazarak yapmanız gerekir
    şöyleki
    $result = mysql_query("select * from tablo where id > 6000 order by id ");
    while($row = mysql_fetch_array($result) ){
    mysql_query(""update tablo set id = id - 6000 where id = ".$row["id"]."");
    }
    mantık olarak düşünürseniz böyle yapmamizin nedeni mevcut kullanilan id üzerine atama yapamazsiniz.
    yani 6000 numarali id var ise. id = id -6000 dediginizde 6000 e denk geliyorsa sql calismaz hata verir. manuel elle ilk kayittan küçülterek giderseniz calisir.
    arttırmak için ise id nin büyük degeri boş olduğu için hata vermeden normal calisir

    Çok açıklayıcı olmuş çok teşekkür ederim.
    Karışmamak en mantıklısı sonuç olarak büyük bir sorun teşkil etmiyor..
  • 14-04-2009, 17:13:35
    #13
    Üyeliği durduruldu
    Nescafem adlı üyeden alıntı: mesajı görüntüle
    Çok açıklayıcı olmuş çok teşekkür ederim.
    Karışmamak en mantıklısı sonuç olarak büyük bir sorun teşkil etmiyor..
    birde karismamak şu acidan önemli ki ilişkisel tablo kullaniyorsaniz diğer ilişkili tablolarida güncellemenzi gerekir.

    Örnek grup tablosu var ve sayfa sablosu var.

    sayfa tablosunda grupid si var

    o zaman siz grup tablosunu update ederseniz sayfa tablolarinida düzenlemeniz gerekir

    gibi gibi