Jump to content

MySQL Replace Into Komutu


Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...