View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 08.09.2008   #2 (permalink)
wefra
 
wefra's Avatar
 
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 153
Re: iki satırdaki herhangi bir alanı takas etmek

merhaba
önerdiğim yöntemin pratikliği tartışılı ve klasik yöntemle aynı sayıda adımda tamamlayabiliyor.

TABLO
Kod:
CREATE TABLE `tablo` (                                   
          `id` int(11) NOT NULL auto_increment,                  
          `deger` varchar(255) default NULL,                     
          PRIMARY KEY  (`id`)                                    
        )
STORED PROCEDURE
Kod:
DELIMITER $$
CREATE PROCEDURE takasEt(in id1 int,in id2 int)
BEGIN
DECLARE deger1 varchar(255);
DECLARE deger2 varchar(255);
SET deger1 = (select deger from tablo where id=id1);
SET deger2 = (select deger from tablo where id=id2);
update tablo set deger = deger2 where id = id1;
update tablo set deger = deger1 where id = id2;
END $$
ve PHP

PHP Code:
mysql_connect ("localhost","root","") || die ("MySQL’e Baglanamiyor");   
mysql_select_db ("db_name") || die ("Veritabanina Baglanamiyor" );   
mysql_query("CALL takasEt(2, 7)"); 
__________________
sevgiSaygi = true;
wefra şu an çevrimiçi   Mesajdan alıntı yaparak yeni bir cevap ekleyin