Mysql AUTO_INCREMENT Alanda Metin Kullanımı
-
Merhaba arkadaşlar mysql tablomda string/int değer atayacağım bir alanın benzersiz olmasını istiyorum bununla beraber aynı kayıt eklenirse sonuna -2 birtane daha eklenirse -3 gibi ekleme yapmak istiyorum.
sef link oluştururken url içinde id vs kullanmadan direk url yi kullanayım diyorum ihtiyaç bu.
Bu şekilde bi yapı oluşturmak mümkün mü ? (wp de falan oluyor tablo yapısına baktım farklı birşeyle karşılaşmadım ondan konu açayım dedim..)
-
Veriyi eklerken, once basliga gore sef link olusturup, ardindan tabloda benzer kac adet var bulup, ona gore ekliyor olabilir mi? Ben olsam boyle yapardim herhalde. Bunun disinda string ifadelerde auto increment oldugunu zannetmiyorum.
-
Hocam direk auto incrementte bunu yapabilecegini sanmiyorum. Baska bir kolonda triggerla boyle bir deger urettirmeyi deneyebilirsin. Yada birlesik kolon yapilari oluyor diye okumustum hatta derslerdede gormustuk ama hic gercek hayatta kullanmam gerekmedi. Buna da bakabilirsin.
-
herlocksholmes bunu yazdı
Veriyi eklerken, once basliga gore sef link olusturup, ardindan tabloda benzer kac adet var bulup, ona gore ekliyor olabilir mi? Ben olsam boyle yapardim herhalde. Bunun disinda string ifadelerde auto increment oldugunu zannetmiyorum.
Hocam pek verimli bir yöntem değil dediğin. Auto increment te olmuyor evet olmadı başka birşeyler bakacağız bakalım
-
Big int ile int to str mantığı ile hareket edebilirsin. Tabi max big int değeri sana yetiyorsa.
-
PcK0 bunu yazdı
Big int ile int to str mantığı ile hareket edebilirsin. Tabi max big int değeri sana yetiyorsa.
Örnek verebilir misiniz hocam
-
Sütunlarında şöyle şeyler olsun
id, baslik, baslik_seo, ozet, icerik, durum (temsili bunlar)
İçerik eklerken
string strBaslik_Seo = Request("baslik_seo")
Declare @adet int
Select @adet = Count(id) From Icerikler where baslik_seo = strBaslik_Seo
if (@adet > 0)
SET @adet = @adet + 1
Set strBaslik_Seo = strBaslik_Seo + "-" @adet
end if
Burada da insert işlemi yaparsın.
-
ontedi bunu yazdı
Sütunlarında şöyle şeyler olsun
id, baslik, baslik_seo, ozet, icerik, durum (temsili bunlar)
İçerik eklerken
string strBaslik_Seo = Request("baslik_seo")
Declare @adet int
Select @adet = Count(id) From Icerikler where baslik_seo = strBaslik_Seo
if (@adet > 0)
SET @adet = @adet + 1
Set strBaslik_Seo = strBaslik_Seo + "-" @adet
end if
Burada da insert işlemi yaparsın.
teşekkür ederim hocam , son zamanlarda kafamı nereye çevirsem stored procedure çıkar oldu ; sanırım artık bunu da öğrenmenin zamanı geldi :)
-
Procedure olmadan da yapabilirsin hocam.
antık şu, aynı baslik_seo değerli kaç sütun var diye bakıyoruz. 1 ve 1'den fazla ise yanına -sayi ekleyip aynı başlığın tekrar olarak veritabanına girmesini engelliyoruz.
-
tabi yapılır da procedure sanırım daha verimli olacaktır
