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

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • optionalinfo

    optionalinfo

    29 EKİM 2005
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006