Nie mam pojęcia, czy jest to nawet poprawne. Mam klasę, w której chciałbym zaktualizować bazę danych, jeśli pola istnieją lub wstawić, jeśli nie. Powikłaniem jest to, że robię łączenie 3 tabel (set_colors, school_art, baseimage).PHP MYSQL UPDATE, jeśli istnieje lub INSERT, jeśli nie?
Każda pomoc byłaby naprawdę świetna.
Oto co mam:
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;
}
Z góry dzięki.
Aby być bardziej poprawnym, nie potrzebujesz wskazania kluczy podstawowych. Więc jeśli pole 1 jest kluczem, to ...... WŁĄCZ DUŻĄ AKTUALIZACJĘ KLAWISZY pole2 = "wartość2", pole3 = "wartość3", ... (począwszy od pola2) – giacoder