SORU
26 NİSAN 2010, PAZARTESİ


Birden çok satır için YİNELENEN KEY UPDATE MySQL ınsert tek sorguda

Tek sorguda birden fazla satır eklemek istiyorum sql sorgusu var. bir şey gibi kullandım:

$sql = "INSERT INTO beautiful (name, age)
  VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)";

mysql_query( $sql, $conn );

Sorun olduğunda ben bu sorguyu yürütmek istiyorum olup olmadığını kontrol etmek için BENZERSİZ anahtar (olan değil BİRİNCİL ANAHTAR), ör. 'adı' yukarıdaki durumda, gereken kontrol ve eğer böyle bir ad zaten var, ilgili bütün satır olmalıdır aksi takdirde güncelleme eklenmiş.

Örneğin aşağıda. mesela, 'Katrina' zaten veritabanında Mevcut Bütün satır, alan sayısı ne olursa olsun, güncellenmelidir. Yine 'Samia' yok, satır eklenmesi gereken.

Kullanarak düşündüm:

INSERT INTO beautiful (name, age)
      VALUES
      ('Helen', 24),
      ('Katrina', 21),
      ('Samia', 22),
      ('Hui Ling', 25),
      ('Yumie', 29) ON DUPLICATE KEY UPDATE

İşte tuzak. Sıkışıp kaldım ve devam etmek için nasıl karıştı. Bir anda eklemek/güncellemek için birden çok satır var. Bana yön veriniz. Teşekkürler.

CEVAP
26 NİSAN 2010, PAZARTESİ


Anahtar kelime VALUES Yeni değerleri ifade etmek için (documentation) kullanın.

INSERT INTO beautiful (name, age)
    VALUES
    ('Helen', 24),
    ('Katrina', 21),
    ('Samia', 22),
    ('Hui Ling', 25),
    ('Yumie', 29)
ON DUPLICATE KEY UPDATE
    age = VALUES(age),
     ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Deany Boii

    Deany Boii

    27 Kasım 2007
  • Vintendo Power

    Vintendo Pow

    2 Ocak 2007