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

  • echifitness

    echifitness

    9 Kasım 2008
  • Living Waters

    Living Water

    9 AĞUSTOS 2006
  • SignatureSeries

    SignatureSer

    24 Aralık 2006