PHP und MySQL: Datensätze mit bedingten Anweisungen aktualisieren oder einfügen
In Ihrer PHP-Anwendung benötigen Sie eine vielseitige Möglichkeit, Daten zu aktualisieren oder einzufügen in Ihre MySQL-Datenbank ein, basierend darauf, ob eine bestimmte Bedingung erfüllt ist. Dies kann mit einer kombinierten Update- oder Insert-Anweisung erreicht werden.
Der folgende Codeausschnitt veranschaulicht diesen Ansatz:
public function set_layer_colors($value) { global $db; $query = "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 ON DUPLICATE KEY UPDATE school_art_id=VALUES(school_art_id), baseimage_id=VALUES(baseimage_id), sub_folder=VALUES(sub_folder), layer=VALUES(layer);"; $result_array = mysql_query($query); return $result_array; }
Dieser Code kombiniert eine INSERT- und eine ON DUPLICATE KEY UPDATE-Anweisung. Die INSERT-Anweisung versucht, eine neue Zeile in die Tabelle set_colors einzufügen, wobei die Werte aus der Verknüpfung der Tabellen school_art und baseimage abgerufen werden.
Wenn die angegebene school_art_id bereits in der Tabelle set_colors vorhanden ist, wird der ON DUPLICATE KEY verwendet Die UPDATE-Klausel wird aktiv. Diese Klausel aktualisiert die vorhandene Zeile mit den in der VALUES-Klausel bereitgestellten Werten und überschreibt im Wesentlichen die vorhandenen Werte. Wenn die school_art_id nicht existiert, wird die neue Zeile wie gewohnt eingefügt.
Das obige ist der detaillierte Inhalt vonWie aktualisiere oder füge ich MySQL-Datensätze mithilfe von bedingten Anweisungen in PHP ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!