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
mysql_connect ("localhost","root","") || die ("MySQL’e Baglanamiyor");
mysql_select_db ("db_name") || die ("Veritabanina Baglanamiyor" );
mysql_query("CALL takasEt(2, 7)");