Maison > base de données > tutoriel mysql > le corps du texte

Comment mettre à jour les données MySQL si elles existent ou les insérer sinon ?

Susan Sarandon
Libérer: 2024-11-13 07:16:02
original
922 Les gens l'ont consulté

How to Update MySQL Data if it Exists or Insert if Not?

PHP/MySQL : Mettre à jour si existant ou Insérer sinon

Vous cherchez à mettre à jour une table MySQL si des champs spécifiques existent, ou à insérer s'ils n'existent pas. Ce scénario implique de joindre trois tables : set_colors, school_art et baseimage.

Pour obtenir le résultat souhaité, considérez le code suivant :

public function set_layer_colors($value) 
{
    global $db;
    
    $result_array = mysql_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' 
        ON DUPLICATE KEY UPDATE sub_folder = VALUES(sub_folder), layer = VALUES(layer);
    ");

    return $result_array;
}
Copier après la connexion

Ce code mis à jour utilise l'INSERT ... ON Instruction DUPLICATE KEY UPDATE dans MySQL. Il effectue les actions suivantes :

  • Insère de nouvelles lignes si la paire (school_art_id, baseimage_id) n'est pas trouvée.
  • Mise à jour les lignes existantes si la paire (school_art_id, baseimage_id) existe déjà.
  • En cas de mise à jour, seules les colonnes sub_folder et layer sont mises à jour avec les valeurs fournies dans la clause VALEURS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal