मुझे नहीं पता कि यह दूरस्थ रूप से भी सही है या नहीं। मेरे पास एक कक्षा है जहां मैं डेटाबेस को अपडेट करना चाहता हूं यदि फ़ील्ड वर्तमान में मौजूद हैं या यदि वे नहीं करते हैं तो डालें। जटिलता यह है कि मैं 3 टेबल (set_colors, school_art, baseimage) में शामिल हो रहा हूंPHP MYSQL अद्यतन अगर मौजूद है या INSERT नहीं है?
कोई भी मदद वास्तव में महान होगी।
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;
}
अग्रिम धन्यवाद:
यहाँ मैं क्या है।
अधिक सही होने के लिए आपको प्राथमिक कुंजी के संकेत की आवश्यकता नहीं है। तो यदि फ़ील्ड 1 एक कुंजी है तो ...... डिप्लिकेट कुंजी अपडेट फ़ील्ड 2 = 'वैल्यू 2', फ़ील्ड 3 = 'वैल्यू 3', ... (फ़ील्ड 2 से शुरू) – giacoder