Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie aktualisiere oder füge ich Datensätze in MySQL basierend auf der Existenz ein?

Mary-Kate Olsen
Freigeben: 2024-11-14 14:14:02
Original
325 Leute haben es durchsucht

How to Update or Insert Records in MySQL Based on Existence?

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', ...)
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage