PHP MySQL: Datensätze basierend auf der Existenz aktualisieren oder einfügen
In MySQL müssen Sie möglicherweise vorhandene Datensätze aktualisieren oder neue einfügen basierend darauf, ob bestimmte Felder bereits in der Datenbank vorhanden sind. Diese Aufgabe kann mithilfe einer Kombination aus den Anweisungen IF EXISTS und ELSE effizient erledigt werden.
Um Datensätze zu aktualisieren, falls vorhanden, oder sie einzufügen, wenn nicht, beachten Sie die folgende Syntax:
IF EXISTS(SELECT * FROM table_name WHERE field = 'value') UPDATE table_name SET field1 = 'value1', field2 = 'value2', ... ELSE INSERT INTO table_name (field1, field2, ...) VALUES ('value1', 'value2', ...)
Um in Ihrem spezifischen Szenario Datensätze in der Tabelle „set_colors“ basierend auf dem Vorhandensein entsprechender Datensätze in den Tabellen „school_art“ und „baseimage“ zu aktualisieren oder einzufügen, können Sie Ihren Code wie folgt ändern folgt:
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 SET school_art_id = '{$value}', baseimage_id = '{$baseimage_id}', sub_folder = '{$sub_folder}', layer = '{$layer}' ELSE INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer) VALUES ('{$value}', '{$baseimage_id}', '{$sub_folder}', '{$layer}') "); return $result_array; }
Dieser Code prüft, ob in der Tabelle „set_colors“ ein Datensatz vorhanden ist, in dem „school_art_id“ mit dem angegebenen Wert übereinstimmt. Wenn der Datensatz vorhanden ist, werden die angegebenen Felder aktualisiert. Andernfalls wird ein neuer Datensatz in die Tabelle eingefügt.
Das obige ist der detaillierte Inhalt vonWie aktualisiere oder füge ich Datensätze in MySQL basierend auf der Existenz ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!