Bunun uzaktan doğru olup olmadığını bilmiyorum. Alanlar mevcutsa veya eklemeselerse veritabanını güncellemek istediğim bir sınıfım var. komplikasyon ben katılmadan 3 tablolar (set_colors, school_art, baseimage)PHP Varsa veya yoksa INSERT ise MYSQL UPDATE?
Herhangi bir yardım gerçekten çok iyi olurdu yapıyorum olmasıdır. peşin
public function set_layer_colors($value) {
global $db;
$result_array = mysql_query("
IF EXISTS(SELECT * FROM set_colors WHERE school_art_id = '{$value}')
UPDATE set_colors (school_art_id, baseimage_id, sub_folder, layer)
SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
FROM school_art
JOIN baseimage ON baseimage.base_folder = school_art.series_code
WHERE baseimage.image_type = 'B' ORDER BY school_art.id
ELSE
INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
FROM school_art
JOIN baseimage ON baseimage.base_folder = school_art.series_code
WHERE baseimage.image_type = 'B' ORDER BY school_art.id
");
return $result_array;
}
Teşekkür: Burada
ben ne var.
Daha doğru olması için Birincil anahtarların belirtilmesine gerek yoktur. Yani field1 bir anahtar ise DUPLICATE ANAHTAR GÜNCELLEME alanı2 = 'değer2', field3 = 'değer3' ... ... (alan2 ile başlayan) – giacoder