mysql ile ilgili bir soru/sorun
selamlar herkese, Debian sarge ve mysql Ver 12.22 Distrib 4.0.24 kullaniyorum.simdi sorun soyle , bi tablom var ve bunun icinde 2 sutun var. bu sutunlar sadece int degeri alabiliyor. bu tabloma soyle degerler giriyorum 1 1, 1 2, 1 4,1 3 sonra select * from tablo; sutun1 sutun2 1 1 1 2 1 4 1 3 2 1 2 2 ondan sonra " alter table tablo order by sutun1, sutun2; yazdigim zaman istedigim sonucu elde ediyorum yani soyle 1 1, 1 2, 1 3, 1 4,2 1, 2 2, 2 3 gibi. fakat 1 3 `u, 1 5 yaptigim zaman durum soyle oluyor 1 1, 1 2, 1 5, 1 4, 2 1, 2 2, 2 3 ben tekrar "alter table tablo order by sutun1, sutun2; yaziyorum duzeliyor fakat her degisiklik yaptigimda tekrar bu komutu girmek zorunda kaliyorum.bunu default olarak nasi yaptirabiliriym yani tablo sorgulamasinda once sutun1 i siralicak sonrada sutun2 yi.
Re: mysql ile ilgili bir soru/sorun
sinan , wrote: Debian sarge ve mysql Ver 12.22 Distrib 4.0.24 kullaniyorum.simdi sorun soyle , bi tablom var ve bunun icinde 2 sutun var. bu sutunlar sadece int degeri alabiliyor. bu tabloma soyle degerler giriyorum 1 1, 1 2, 1 4,1 3 sonra select * from tablo; sutun1 sutun2 1 1 1 2 1 4 1 3 2 1 2 2 ondan sonra " alter table tablo order by sutun1, sutun2; yazdigim zaman istedigim sonucu elde ediyorum yani soyle 1 1, 1 2, 1 3, 1 4,2 1, 2 2, 2 3 gibi. fakat 1 3 `u, 1 5 yaptigim zaman durum soyle oluyor 1 1, 1 2, 1 5, 1 4, 2 1, 2 2, 2 3 ben tekrar "alter table tablo order by sutun1, sutun2; yaziyorum duzeliyor fakat her degisiklik yaptigimda tekrar bu komutu girmek zorunda kaliyorum.bunu default olarak nasi yaptirabiliriym yani tablo sorgulamasinda once sutun1 i siralicak sonrada sutun2 yi. Konu Debian'in kendisinden ziyade SQL standartlari ile alakali gibi; kafa karisikligimi mazur görün, daha ziyade MS SQL Server ile ugrasan bir programciyim ancak neden sürekli "alter table..." dediginizi anlamadim. Yani tablonun yapisini neden degistirmeye calisiyorsunuz? Önce birinci, sonra da ikinci sütuna göre artan siralama isterseniz: SELECT sutun1, sutun2 FROM tablo ORDER BY sutun1, sutun2 demek size istediginiz sirali ciktiyi (yani 1. sütun kendi icinde ve buna bagli olarak 2. sütun da 1. sütun grubu icinde sirali) getirmiyor mu? -- Emre Sevinç eMBA Yazılım Geliştirme İstanbul Bilgi Üniversitesi
Re: mysql ile ilgili bir soru/sorun
evet dogru anlamissiniz fakat ben mevcut fonksiyonlarima bu eklentiyi yapmak istemiyorum, mesela phpmyadmin den listeledigim zaman ne kadar degistirsemde gene sutun1,sutun2 sirasina gore dizilmesini istiyorum cunku fonksiyonlarimin sorgulamalarida bu siraya gore geliyor, ve ben sutun2 de herhangi bi sekilde degisiklik yaptigimda tekrar yukardaki "alter table . . . " komutunu girmez isem sutun1,sutun2 seklinde siralamiyor. tesekkurler.
Re: mysql ile ilgili bir soru/sorun
sinan , wrote: evet dogru anlamissiniz fakat ben mevcut fonksiyonlarima bu eklentiyi yapmak istemiyorum, mesela phpmyadmin den listeledigim zaman ne kadar degistirsemde gene sutun1,sutun2 sirasina gore dizilmesini istiyorum Veritabani tasarimi acisindan yapmaya calistiginiz seyi pek hayirli bulmadigimi belirtmeme izin verin lütfen. Böyle bir seyi istemenizin özel bir sebebi mi var? Yani bu isi SQL sorgusuna havale ettirmek yerine tabloda yapisal bir seylere girismek istiyorsunuz gördügüm kadari ile ve bunun sebebi de baska bir dilde, misal PHP, yazdiginiz ve degistirmek istemediginiz binlerce fonksiyon mu? Böyle bir sey mi var? Bu gibi isler icin "view" kullanmak daha anlamlidir. View'lar tipki birer tablo gibi, misal üzerinde "SELECT * FROM view-ismi" türünden komutlar calistirabileceginiz veritabani nesneleridir ancak view'ün arkasinda cok karmasik sorgular yer alabilir (JOIN'li, ORDER'li, GROUP BY'li vs.). Böyle bir sey isinizi görmez mi? cunku fonksiyonlarimin sorgulamalarida bu siraya gore geliyor, ve ben sutun2 de herhangi bi sekilde degisiklik yaptigimda tekrar yukardaki "alter table . . . " komutunu girmez isem sutun1,sutun2 seklinde siralamiyor. Ben derim ki tabloya o sekilde garip bir müdahalede bulunmayin. Veritabani tablosu dedigimiz sey o yapmaya calistiginiz is icin uygun bir yapi gibi gelmiyor bana, "view" daha uygun bu is icin. MySQL'de "CREATE VIEW..." gibi bir sey var mi? Böylece "tablo" dediginiz seyin ismini "asil-tablo" diye degistirir ve "view"unuzun ismini de "tablo" koyarsiniz, ve o view da "SELECT sutun1, sutun2 FROM tablo" seklinde bir sorgunun sonucu olan tablo olarak görünür ve belki bu islerinizi biraz cözer. Ne dersiniz? -- Emre Sevinç eMBA Yazılım Geliştirme İstanbul Bilgi Üniversitesi
Re: mysql ile ilgili bir soru/sorun
olabilir tabi ama benim icin onemli olan su anki php fonksiyonlarimin istedigim sekilde sirali gelmesi view konusunda bilgim olmadigi icin onun yerine fonksiyonlarimi degistirmeye baslicagim sanirim, hmm aslinda binlerce yok ama onlarca var diyebilirim :/ tesekkur ederim yardimlariniz icin.
Re: mysql ile ilgili bir soru/sorun
sinan , wrote: olabilir tabi ama benim icin onemli olan su anki php fonksiyonlarimin istedigim sekilde sirali gelmesi view konusunda bilgim olmadigi icin onun yerine fonksiyonlarimi degistirmeye baslicagim sanirim, hmm aslinda binlerce yok ama onlarca var diyebilirim :/ GNU/Linux üzerinde calisan biri icin herhalde dosyalari actirip, ... FROM tablo" kismini bulup dibine ORDER BY sutun1, sutun2" ekletmek zor olmasa gerek. Öte yandan önerdigim "view" cözümünün cok daha acisiz ve zahmetsiz oldugunu düsünüyor ve $u adresi öneriyorum: http://dev.mysql.com/doc/mysql/en/create-view.html Bu arada MySQL sistemini hangi kitaptan calisiyorsunuz? Konuyla ilgili düzgün bir kitapta "view"dan mutlaka bahseder diye düsünüyorum. Iyi calismalar, -- Emre Sevinç eMBA Yazılım Geliştirme İstanbul Bilgi Üniversitesi
Re: mysql ile ilgili bir soru/sorun
su an elimin altinda olan kitap o`reilly nin mysql & msql isimli kitabi, acikcasi view la ilgili olarak kitabi acip bakmadim, kisa zamanda cozum gerekti onuda fonksiyonlari tekrar duzelterek yaptim, dediginiz gibi gnu/linux`de calisan birisi icin cok zahmetli bi is degilmis, zaten oyle gozukuyordu ;)