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

Comment mettre à jour ou insérer des enregistrements dans MySQL en fonction de l'existence ?

Mary-Kate Olsen
Libérer: 2024-11-14 14:14:02
original
325 Les gens l'ont consulté

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

PHP MySQL : mise à jour ou insertion d'enregistrements basés sur l'existence

Dans MySQL, vous pouvez rencontrer le besoin de mettre à jour des enregistrements existants ou d'en insérer de nouveaux selon que certains champs existent déjà dans la base de données. Cette tâche peut être gérée efficacement en utilisant une combinaison des instructions IF EXISTS et ELSE.

Pour mettre à jour les enregistrements s'ils existent ou les insérer s'ils n'existent pas, considérez la syntaxe suivante :

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', ...)
Copier après la connexion

Dans votre scénario spécifique, pour mettre à jour ou insérer des enregistrements dans la table 'set_colors' en fonction de l'existence d'enregistrements correspondants dans les tables 'school_art' et 'baseimage', vous pouvez modifier votre code comme suit :

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;
}
Copier après la connexion

Ce code vérifie l'existence d'un enregistrement dans la table 'set_colors' où le 'school_art_id' correspond à la valeur fournie. Si l'enregistrement existe, il met à jour les champs spécifiés. Sinon, il insère un nouvel enregistrement dans la table.

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