Hakinen Posted January 8, 2007 Share Posted January 8, 2007 MySQL Replace Into Komutu Herhangi bir tabloya kayıt yaparken kayıt yapacağımız değerlere sahip bir kayıt var mı diye kontrol etme zorunluluğuna sıkça rastlarız. Bunun için ilk önce bir SELECT sorgusuyla tabloda belirli değerlere sahip bir kayıt varmı diye bakarız. Yoksa INSERT sorsugusu ile kayıt yaparız. Eğer tabloda var ise duruma göre ya uyarı veririz yada UPDATE sorgusu ile değiştirme yaparız. REPLACE INTO komutu bu tür durumlarda hayat kurtarıcı olabilir. REPLACE INTO komutunun nasıl çalıştığına basitçe göz atalım. Elimizde aşağıdaki yapıda bir tablomuz olsun. ogrenciler ogrencino int(11) primary_key ad varchar(80) soyad varchar(80) sinifno int(11) devamsizlik int(11)[/CODE]REPLACE INTO komutunun yapısı INSERT INTO komutu ile aynıdır. İlk önce parantez için alan adları verilir daha sonra VALUES komutu ve yine parantez içinde sırasıyla alanlara denk gelen değerler verilir. Komut verdiğimiz değer kümesinde verilen birincil alanın değerini taşıyan bir kayıt var ise bu kayıtın değerlerini UPDATE komutu çalışmış gibi düzenler. Eğer birincil alanın değerini taşıyan bir kayıt yok ise INSERT INTO komutu çalışmış gibi yeni bir kayıt ekler. Örneğin, [CODE]REPLACE INTO ogrenciler (ogrencino,ad,soyad,sinifno,devamsizlik) VALUES (1,'Umut', 'IŞIK', 1, 0);[/CODE]Sorgusu ogrencino alanı 1 olan bir kayıt var ise o kaydın ad alanını 'Umut', soyad alanını 'IŞIK', sinifno lanini 1 ve devamsizlik alanını 0 yapar. Eğer yoksa bu değerleri kulanarak bir kayıt ekler Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.