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
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),
...
Birden çok öğe için YİNELENEN KEY UPDA...
SQL Server üzerinde INSERT VEYA UPDATE...
Nasıl bir dize C / birden fazla satır ...
Nasıl "yinelenen OLMADAN birden f...
Varlık Çerçevesi: &; Store update, ıns...